4

大文字と小文字を無視するXPathを使用したSelectNodesの質問に似た問題がありますが、私の場合、大文字/小文字の問題は「application」という名前のノードにあります(「Application」または「application」の場合もあります)。

他の投稿のソリューションをどのように適用しますか?または、この場合は別のものが適用されますか?

xml:

<?xml version="1.0" encoding="utf-16" ?>
<application>
  <forms>
    <action type="update">
      <form uid="" >
      </form>
    </action>
  </forms>
</application>

C#3.5の場合:

XmlNode nodex= oXMLDoc1.SelectSingleNode("Application/forms/action/form/@uid")
nodex.Value="UniqueIDx";//nodex is null :S
4

5 に答える 5

6

xml と変数を小文字に変換する場合があります。

string value = "aBc";
XmlNode xmlnode = xmldoc.SelectSingleNode(string.Format("/some/path/add[translate(@key, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = '{0}']", value.ToLower()));
于 2015-06-18T14:59:13.937 に答える
2

まず、xml では大文字と小文字が区別されることに言及したいので、Application はアプリケーション以外の何かを意味します。これは、この xml を生成するコードで修正する必要があるように見えますが、それを制御できない場合は、次のようなものを試してみてください。 xpath:

"Application/forms/action/form/@uid | application/forms/action/form/@uid"

| | 演算子は、両方の xpath から返されたノード セットを結合します。この場合、いずれかになります。

于 2012-06-15T10:17:19.173 に答える