그래서 저는 현재 WPF 응용 프로그램에서 기존 XML 파일을 구문 분석하려고 시도하고 있으며 그렇게 할 때 특정 노드의 특성을 확인하여 문자열과 일치하는지 확인합니다.
내 코드는 현재 다음과 같습니다.
public static void ParseExistingKingdomXML()
{
XmlDocument ParseExistingKingdomXML_xDoc = new XmlDocument();
ParseExistingKingdomXML_xDoc.Load(XMLExistingKingdomsStrings.ExistingKingdomsXMLFile);
foreach (XmlNode node in ParseExistingKingdomXML_xDoc.DocumentElement)
{
if (node.Name == "Kingdom")
{
var attribute = node.Attributes["title"].ToString();
if (attribute == XMLExistingKingdomsStrings.KingdomName) {
XMLExistingKingdomsStrings.KingdomID = node.Attributes["title"].Value;
}
}
}
}
나중에 내 프로그램에서 KingdomID 문자열을 텍스트 상자에 반환하려고 시도하지만 현재는 null을 반환합니다.
내 XML 파일 예 :
https://hastebin.com/fuxehaqeha.xml
원칙적으로 제목 값이 미리 정의 된 문자열과 일치하는 경우 (사용자가 클릭하는 TreeNode를 기반으로 함) 많은 코드를 실행하고 싶습니다.
속성 ToString()
함수를 오해했습니다 . 이를 수행하는 방법은 원하는 실제 값 대신 클래스 이름 "System.Xml.XmlAttribute"의 문자열을 비교하는 것입니다. 따라서 다른 모든 코드가 작동한다고 가정하면 작동합니다.
foreach (XmlNode node in ParseExistingKingdomXML_xDoc.DocumentElement)
{
if (node.Name == "Kingdom")
{
var attribute = node.Attributes["title"].Value;
if (attribute == XMLExistingKingdomsStrings.KingdomName) {
XMLExistingKingdomsStrings.KingdomID = node.Attributes["title"].Value;
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다