【发布时间】:2020-08-27 16:23:22
【问题描述】:
我有一个带有 XML XDocument xdoc1 = XDocument.Load(doc1) 的 XDocument
我想遍历 XML 文档,如果满足条件,则替换值或节点。
我试过这样的代码:
var list = from item in xdoc1.Root.Element("New").Elements() select item;
foreach (XElement item in list)
{
foreach (var node in item.Nodes())
{
if (node.ToString() == "DIV||<Control>")
{
item.Element("Value").Value = "DIV||TextBox";
}
}
但这对我不起作用。
如果我的 XML 看起来像这样
<Test>
<New>
<DoSometing>
<Selector>
</Selector>
<Value>DIV||<Control></Value>
</DoSometing>
<DoSometingElse>
<Selector>
</Selector>
<Value>DIV||<Control></Value>
</DoSometingElse>
</New>
</Test>
所以我的想法是遍历所有的xml,如果条件==&lt;Control&gt;然后替换它。
我也试过像IEnumerable<XElement> list = from item in xdoc1.Root.Element("New").Elements() where (item.Name == "Value") select item;这样的suff
【问题讨论】:
-
您能否提供更多关于什么不工作的信息,即错误或堆栈跟踪?此外,了解正在处理的 XML 是否与发布的 XML 不同也会很有帮助;示例中没有名称为
TestSteps的元素。