【发布时间】:2020-05-31 14:32:17
【问题描述】:
我想添加一个带有属性的父节点并将节点放在这个父节点内。我有以下 xml:
<?xml version="1.0" encoding="UTF-8"?>
<foo>
<row>
<PHONE_NUM>124</PHONE_NUM>
<PHONE_ORDER>1</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>123</PHONE_NUM>
<PHONE_ORDER>2</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>181</PHONE_NUM>
<PHONE_ORDER>3</PHONE_ORDER>
</row>
</foo>
我试过这种方法:
var xmlString = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<foo>
<row>
<PHONE_NUM>124</PHONE_NUM>
<PHONE_ORDER>1</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>123</PHONE_NUM>
<PHONE_ORDER>2</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>181</PHONE_NUM>
<PHONE_ORDER>3</PHONE_ORDER>
</row>
</foo>";
var report = XDocument.Parse(xmlString);
var newdoc = new XDocument();
newdoc.Add(new XElement("testsuites"));
newdoc.Root.Add(report.Root);
但是上面的代码生成的是没有id,并且命令books已经变成了一个根:
<books>
<foo>
<row>
<PHONE_NUM>124</PHONE_NUM>
<PHONE_ORDER>1</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>123</PHONE_NUM>
<PHONE_ORDER>2</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>181</PHONE_NUM>
<PHONE_ORDER>3</PHONE_ORDER>
</row>
</foo>
</books>
我想要实现的是:
<?xml version=""1.0"" encoding=""UTF-8""?>
<foo>
<books id=""1"">
<row>
<PHONE_NUM>124</PHONE_NUM>
<PHONE_ORDER>1</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>123</PHONE_NUM>
<PHONE_ORDER>2</PHONE_ORDER>
</row>
<row>
<PHONE_NUM>181</PHONE_NUM>
<PHONE_ORDER>3</PHONE_ORDER>
</row>
</books>
</foo>
如果可能的话,最好使用XmlDocument 类。任何帮助将不胜感激。
【问题讨论】:
标签: c# xml xmldocument