大きな xml ファイルがあり、xpath を解析して値を挿入しています。これは、いくつかの値を挿入する xml ファイルの一部です。
<SERVICES>
<RELATIONSHIPS>
<RELATIONSHIP xlink:from="fromValue01" xlink:to="toValue01" />
<RELATIONSHIP xlink:from="fromValue02" xlink:to="toValue02" />
<RELATIONSHIP xlink:from="fromValue03" xlink:to="toValue03" />
<RELATIONSHIP xlink:from="fromValue04" xlink:to="toValue04" />
<RELATIONSHIP xlink:from="fromValue05" xlink:to="toValue05" />
<RELATIONSHIP xlink:from="fromValue06" xlink:to="toValue06" />
<RELATIONSHIP xlink:from="fromValue07" xlink:to="toValue07" />
</RELATIONSHIPS>
<SERVICES>
RELATIONSHIP
ここで、属性は同じで値が異なるこれらのノードをさらに追加したい場合 (例: <RELATIONSHIP xlink:from="fromValue08" xlink:to="toValue08" />
)、常にDuplicate Attribute
エラーが発生します。これは、解析している xpath の例です。
/SERVICES/RELATIONSHIPS/RELATIONSHIP[@xlink:from="fromValue08" and @xlink:to="toValue08"]
パーサーは、ここに貼り付けるには大きすぎるコードです。すべてのノードを正常に挿入しているので、問題なく動作していると確信しています。ここのこの部分だけが問題を引き起こしています。また、Altova で xpath を確認したところ、動作しました。
私の質問は次のとおりです。同じ属性を持つが異なる値を持つノードを追加することは XML で許可されていますか? はいの場合、Visual Studio が常にこのエラーをスローするのはなぜですか?