我有一个XElements的集合,我得到像doc.Root.Element("Doc").Elements("PersonalData")
。与另一个XElement包装XElement
集看起来像这样:
<PersonalData att1="0" att2="21" att3="2017">
<element1>
<data name="test test test" />
</element1>
<element2>
<element3 att1="66725.67" att2="51769.82" >
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
</element3>
</element2>
</PersonalData >
<PersonalData att1="0" att2="21" att3="2017">
<element1>
<data name="test test test" />
</element1>
<element2>
<element3 att1="66725.67" att2="51769.82" >
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
</element3>
</element2>
</PersonalData >
我想包围集合每个元素与<row>
元素。
我一直试图做这样的:
foreach (var item in doc.Root.Element("Doc").Elements("PersonalData"))
{
item.AddBeforeSelf("<row>");
item.AddAfterSelf("</row>");
}
但除了"<"
我得到< >
。 我可以以某种方式解决这个问题或者我可以这样做:
item.ReplaceWith(new XElement("row").Add(item));
我怎样才能做到这正常吗?
在到底应该是这样的:
<row>
<PersonalData att1="0" att2="21" att3="2017">
<element1>
<data name="test test test" />
</element1>
<element2>
<element3 att1="66725.67" att2="51769.82" >
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
</element3>
</element2>
</PersonalData >
</row>
<row>
<PersonalData att1="0" att2="21" att3="2017">
<element1>
<data name="test test test" />
</element1>
<element2>
<element3 att1="66725.67" att2="51769.82" >
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
<data att1="03" att2="HP"/>
</element3>
</element2>
</PersonalData >
</row>