XPath を使用してそれを行う 1 つの方法を次に示します。これにより、単一のプレースホルダーが正しい値に置き換えられます。プレースホルダーごとにループしてこれを 1 回実行する必要があります。これにより、XML 内の任意の要素の任意の属性にあるプレースホルダーが置き換えられます。
Dim doc As New XmlDocument()
doc.LoadXml("...")
For Each node As XmlNode In doc.SelectNodes("//@*[.='PD1']")
node.InnerText = "value1"
Next
ただし、要素のテキスト値でもそれを置き換える必要がある場合 (例: <customer>PD1</customer>
)、属性または要素のテキスト値を見つけるために XPath を変更する必要があります。
Dim doc As New XmlDocument()
doc.LoadXml("...")
For Each node As XmlNode In doc.SelectNodes("//@*[.='PD1'] | //*[text()='PD1']")
node.InnerText = "value1"
Next