더 많은 샘플 코드와 일부 입력 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#의 문자열은 항상 런타임시 유니 코드이므로 (http://www.yoda.arachsys.com/csharp/strings.html) 소스 파일을 저장하는 형식은 중요하지 않습니다. 입력 XML. 서가 올 Y 르게로드 된 경우 XPath 표현식과 XML은 모두 유니 코드로 내부적으로 인코딩됩니다. –