さらにサンプルコードと入力XMLドキュメントを提供できますか?与えられた情報から、ちょうど期待どおりに動作する小さなサンプルプログラムを作成しました。あなたのために次のことは可能ですか?
サンプル文書:サンプルコードから
<?xml version="1.0" encoding="iso-8859-1"?>
<doc>
<test>Företag</test>
<test>Hallå</test>
</doc>
C#
using System;
using System.Xml.XPath;
class Program
{
static void Main(string[] args)
{
XPathDocument xpdoc = new XPathDocument(@"sample.xml");
XPathNavigator nav = xpdoc.CreateNavigator();
XPathNodeIterator iter = nav.Select("//*[text() = 'Företag']");
while (iter.MoveNext())
{
Console.WriteLine(iter.Current.ToString());
}
}
}
出力
Företag
あなたがMicrosoft.Windows.Design.Documents.Trees.DocumentNode
クラスを使用しているようです。ただし、このクラスは直接使用するためのものではありません。あなたが何をしようとしているのか聞いてもよろしいですか?
更新:空白の正規化に関する問題が発生している可能性があります(FireFoxアドインではなく、コード内で行われる可能性があります)。テストtext() = 'Företag'
をnormalize-space() = 'Företag'
に置き換えてXPathを変更しようとしましたか?(追加の先頭または末尾の空白がある場合を除外するために)
解析するデータはどのように見えますか? –
私は "魔法"の事件を経験しました。突然、うまく始まりました。これは偉大で刺激的です。私はVSが最初に必要なときにUTF8で保存し始めるところを読んでいますか? –
C#の文字列は常に実行時にUnicode(http://www.yoda.arachsys.com/csharp/strings.html)なので、フォーマットVSはソースファイルを保存します。入力XML文書が正しくロードされていれば、XPath式とXMLの両方が内部的にUnicodeエンコーディングになります。 –