我有2个xmls,在“dokument”-Attribute中有所不同。所以我想在一个xml中选择Attribute并将值复制到另一个。 问题如下:第一次迭代正确替换。但接下来却没有。在代码中,我通过将i更改为j或j更改为i来识别典型错误。
<?xml version="1.0" encoding="ISO-8859-15" standalone="yes"?>
<ups:katalog xmlns:ups="http://xxxx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ups:vorlage name="nameA">
<ups:version dokument="Variante A">
</ups:version>
</ups:vorlage>
<ups:vorlage name="nameB">
<ups:version dokument="Variante B">
</ups:version>
</ups:vorlage>
</ups:katalog>
ZielUpsVorlageName is a XMLNodeList
UpsVorlageName.Count is a XMLNodeList
For i As Integer = 0 To ZielUpsVorlageName.Count - 1
For j As Integer = 0 To UpsVorlageName.Count - 1
If ZielUpsVorlageName(i).Attributes.GetNamedItem("name").Value.Equals(UpsVorlageName(j).Attributes.GetNamedItem("name").Value) Then
ZielUpsVorlageName(i).SelectSingleNode("//ups:version", ZielXmlNamespace).Attributes.GetNamedItem("dokument").Value = UpsVorlageName(j).SelectSingleNode("//ups:version", xmlNamespace).Attributes.GetNamedItem("dokument").Value
End If
Next
Next
我试过了:
UpsVorlageName(j).SelectSingleNode("//ups:version", xmlNamespace).Attributes.GetNamedItem("dokument").value
result: "Variante A"
UpsVorlageName(j).InnerXml
result: the innertext contains "Variante B"
UpsVorlageName(j).ChildNodes(0).SelectSingleNode("//ups:version", xmlNamespace).Attributes.GetNamedItem("dokument").value
result: "Variante A"
我希望有人可以帮助我。