2011-01-07 17 views
1

Ich habe dies:Wie füge ich ein Element zu einem XML-Dokument hinzu?

<dockmenu>  
<photo image="images/4runner-sr5.jpg" url="www.example.com" target="_blank"><![CDATA[4Runner]]></photo>  
<photo image="images/4runner.jpg" url="www.example.com" target="_blank"><![CDATA[4Runner<br>Dock Beautiful]]></photo>  
</dockmenu> 

Und ich brauche, um die xml mit verschiedenen Informationen unter Verwendung von (C# und ASP.net) ein weiteres Element hinzufügen so wird es wie folgt aussehen:

<dockmenu> 
<photo image="images/4runner-sr5.jpg" url="www.example.com" target="_blank"><![CDATA[4Runner]]></photo>  
<photo image="images/4runner.jpg" url="www.example.com" target="_blank"><![CDATA[4Runner<br>Dock Beautiful]]></photo>  
<photo image="images/new.jpg" url="www.new.com" target="_blank"><![CDATA[New]]></photo>  
</dockmenu> 

Wie mache ich das?

+0

Sie müssen die Frage ein wenig, Ihre vor und nach genau gleich sind und weder ein korrekt formatiertes XML – MrEyes

+0

klären, was dies mit C# oder ASP.NET zu tun? –

Antwort

2

LINQ to XML:

var text = @"<dockmenu>  
<photo image=""images/4runner-sr5.jpg"" url=""www.example.com"" target=""_blank""><![CDATA[4Runner]]></photo>  
<photo image=""images/4runner.jpg"" url=""www.example.com"" target=""_blank""><![CDATA[4Runner<br>Dock Beautiful]]></photo>  
</dockmenu>"; 
var dockMenu= XElement.Parse(text); 
var photo = new XElement("photo"); 
photo.SetAttributeValue("image", "images/new.jpg"); 
photo.SetAttributeValue("url", "www.new.com"); 
photo.SetAttributeValue("target", "_blank"); 
photo.Add(new XCData("New")); 
dockMenu.Add(photo); 
var newText = dockMenu.ToString(); 

Oder für eine kurze Version:

var dockMenu= XElement.Parse(text); 
dockMenu.Add(
    new XElement("photo", 
     new XAttribute("image", "images/new.jpg"), 
     new XAttribute("url", "www.new.com"), 
     new XAttribute("target", "_blank"), 
     new XCData("New"))); 
var newText = dockMenu.ToString(); 
0

können Sie auch Knoten direkt mit dem DOM hinzufügen.

XmlDocument doc = new XmlDocument(); 
var text = @"<dockmenu>  
       <photo image=""images/4runner-sr5.jpg"" url=""www.example.com"" target=""_blank""><![CDATA[4Runner]]></photo>  
       <photo image=""images/4runner.jpg"" url=""www.example.com"" target=""_blank""><![CDATA[4Runner<br>Dock Beautiful]]></photo>  
      </dockmenu>"; 
doc.LoadXML(text); 
XmlNode newChild = doc.CreateElement("photo"); 
XmlAttribute image = doc.CreateAttribute("image"); 
image.Value = "images/new.jpg"; 
newChild.Attributes.Append(image); 

XmlAttribute url = doc.CreateAttribute("url"); 
url.Value = "www.new.com"; 
newChild.Attributes.Append(url); 

XmlAttribute target = doc.CreateAttribute("target"); 
target.Value = "_blank"; 
newChild.Attributes.Append(target); 

XmlNode root = doc.SelectSingleNode("//dockmenu"); 
root.AppendChild(newChild); 
Verwandte Themen