【发布时间】:2013-03-28 00:24:37
【问题描述】:
我正在使用以下代码动态重命名 xmlnode 名称。虽然 xml 循环很好,但它不会更改节点名称。请帮我做这件事。
示例 XML 文档
- <NewDataSet>
- <Table5>
<FLD_ID>62</FLD_ID>
<FLD_DATE>2013-03-12</FLD_DATE>
<FLD_MOD_DATE>2013-04-05</FLD_MOD_DATE>
<FLD_DESC>New Creation</FLD_DESC>
</Table5>
- </NewDataSet>
需要的 XML 文档
- <rows>
- <row>
<cell>62</cell>
<cell>2013-03-12</cell>
<cell>2013-04-05</cell>
<cell>New Creation</cell>
</row>
- </rows>
我的代码在这里
XmlNode PackageListNode = hst_doc.SelectSingleNode("NewDataSet");
XmlNodeList PackageNodeList = PackageListNode.SelectNodes("Table5");
foreach (XmlNode node in PackageNodeList)
{
node.Name.Replace("Table5", "row");
foreach (XmlNode ls in node)
{
ls.Name.Replace(ls.Name, "cell");
}
}
【问题讨论】:
-
字符串是不可变的!!!
-
1.老实说,重新创建另一个 XML 树可能更容易。 2. 确保您使用的所有内容都支持同一级别的同名节点。这不能假设。曾经。 3. 研究遍历 XML 树的递归。它可能更复杂、更密集,但在许多情况下可能效果更好。
标签: c# asp.net xml xmldocument