2012-12-05 41 views
0

我想创建一个XML结构像下面的XML:如何创建这种结构

<root> 
    <element name= "text here 1"> 
     <child>asd</child> 
     <child>asd</child> 
    </element> 
    <element name= "text here 2"> 
     <child>asd</child> 
     <child>asd</child> 
    </element> 
</root> 

我熟悉

XElement doc = XElement.Load(mainDirectory); 
XElement newElem = new XElement("element", new XElement(child, ""), new XElement(child, "")); 
doc.Add(newElem); 
doc.Save(mainDirectory); 

所以我觉得这落下如何添加的“属性”当我创造“元素”

+5

你的XML无效 – Anirudha

+3

添加'XAttribute' –

+0

无效的XML你不能让元素=“文字2”.. – Obama

回答

1

您可以添加属性,这样

new XElement("element",new XAttribute("attribute","value") , 
      new XElement(child, ""), 
      new XElement(child, "")); 

这将成为

<element attribute="value"> 
    <child/> 
    <child/> 
</element> 

XElement类似于

public XElement(XName name,params object[] content)

  • 由于params您可以指定任意数量的对象

  • 由于object可以指定

- >XAttribute(其被添加到该特定节点),

- >string(其被包裹在XTEXT和被添加到节点),

- >IEnumerable

- >Any other object被转换使用ToString()然后将其转化到到,然后被添加到node

- >如果objectnull它被忽略

- >如果是XNode,被添加到node