【发布时间】:2018-01-25 12:17:49
【问题描述】:
我想要最终的 xml 如下...
<Programs>
<Program><id>4</id><isRead>true</isRead><isWrite>false</isWrite></Program>
<Program><id>8</id><isRead>true</isRead><isWrite>true</isWrite></Program>
</programs>
下面是编写的代码
XmlDocument xmlDoc = new XmlDocument();
XmlNode rootNode = xmlDoc.CreateNode(XmlNodeType.Element,"programs",null);
xmlDoc.AppendChild(rootNode);
foreach (dynamic item in access)
{
XmlNode myXmlNode = JsonConvert.DeserializeXmlNode(item.ToString(), "program");
rootNode.AppendChild(myXmlNode); //error
}
在 myXmlNode.InnerXml 中,我已经开始关注了
<Program><id>4</id><isRead>true</isRead><isWrite>false</isWrite></Program>
因此,为所有子代运行循环以添加父代。但是我收到上面标记的行//错误的错误。错误是:
指定的节点不能作为该节点的有效子节点插入, 因为指定的节点是错误的类型。
【问题讨论】:
-
漂亮的印刷部分(多行和缩进)见stackoverflow.com/a/1123731/1132334
-
JsonConvert.DeserializeXmlNode是一个有趣的选择。你去过here吗? -
想将此xml作为参数传递给sql SP
-
@ghetal 如果你想反序列化,你可以使用我在下面的回答中建议的反序列化来做到这一点