假设您有一个配置文件,其中包含以下设置:
<someNode>
<node>value A</node>
<node>value B</node>
<node>value C</node>
</someNode>对于我来说,我不知道如何让XmlMassUpdate注入以下内容:
<someNode>
<node>value 1</node>
<node>value 2</node>
<node>value 3</node>
</someNode>结果如下所示:
<someNode>
<node>value 1</node>
<node>value B</node>
<node>value C</node>
</someNode>我所追求的是:
<someNode>
<node>value A</node>
<node>value B</node>
<node>value C</node>
<node>value 1</node>
<node>value 2</node>
<node>value 3</node>
</someNode>编辑:我找到了一个临时解决方案(见下文)……不过,我还是对更好的东西感兴趣。
<someNode>
<node xmu:key="id" id="1">value A</node>
<node xmu:key="id" id="2">value B</node>
<node xmu:key="id" id="3">value C</node>
</someNode>发布于 2011-03-17 06:44:16
答案是对元素应用一个惟一的属性,并将其用作xmu:key (参见上面的编辑)。
发布于 2012-06-22 17:32:07
获取社区任务代码。替换:
if (keyAttribute == null)
{
xpath = nodeToFind.Name;
}通过以下方式:
if (keyAttribute == null)
{
xpath = nodeToFind.Name;
if (nodeToFind.ChildNodes.Count == 1 && nodeToFind.FirstChild.NodeType == XmlNodeType.Text)
{
xpath = string.Format("{0}[{1}='{2}']/{1}", parentNode.LocalName, nodeToFind.LocalName,
nodeToFind.InnerText, nodeToFind.LocalName);
parentNode = parentNode.ParentNode;
}
}In方法:private XmlNode locateTargetNode(XmlNode parentNode, XmlNode nodeToFind, XmlAttribute keyAttribute)
重建。您已经完成了:)
https://stackoverflow.com/questions/5036911
复制相似问题