1
나는 다음 시도하고 그것이 내가 요소를 열거 할 수에서하여 XDocument를 만들이
<?xml version=\"1.0\" encoding=\"UTF-8\"?><searchResponse requestID=\"500\" status=\"success\"><pso><psoID ID=\"61F2C644-F93A-11DE-8015-73A11AB14291\" targetID=\"mezeoAccount\"><data><email>[email protected]</email><quotaMeg>2048</quotaMeg><quotaUsed>1879736</quotaUsed><active>true</active><unlocked>true</unlocked><allowPublic>true</allowPublic><realm>mezeo</realm><bandwidthQuota>1000000000</bandwidthQuota><billingDay>1</billingDay></data></psoID></pso></searchResponse>"
과 같은 웹 사이트에서 반환 된 문자열을 받고 있어요
에서 구문 분석
XDocument doc = new XDocument();
doc = XDocument.Parse(respStr);
하지만 null을 반환 할 때마다 요소 나 하위 항목을 쿼리하면됩니다. 나는 오류를 반환하지 않습니다
string s = doc.Element("email").Value;
// or
doc.Descendants("data"); // returns null as well
XDocument.Parse을 갈 수 없어,하지만 난 검색하여 XDocument를하지 않는 것.
누구나 내가 뭘하고 있는지 분명히 잘못 이해할 수 있습니까?
동일한 예를 통해 살펴보면, 내가 보여준대로 텍스트를 출력하는 문장 하나가 생깁니다. 예를 들어 전자 메일 필드의 값을 읽게하려면 어떻게해야합니까? 나는 doc.Element ("email")로 갈 수 있어야한다고 생각했다. doc.Element ("email")입니다. 값이 잘못 되었습니까? –
"email"이 문서 루트의 하위가 아니기 때문에 "data"의 하위 항목이므로 올바르지 않습니다. Element는 직접적인 자식만을 가져옵니다. 손주도 원한다면 자손 ("이메일")을 사용하십시오. 아니면 XPath로 할 수 있습니다 :'using System.Xml.XPath;'...'foreach (XElement e in doc.XPathSelectElements ("/ searchResponse/pso/psoID/data/email"))'. 힌트 : 당신은 처음에이 질문을 했어야합니다. 그러면 두 가지 질문을하는 대신에 바로 답을 얻었을 것입니다. –
죄송합니다, 잘 모르겠습니다. 데이터의 모든 개별 요소를 읽는 올바른 방법은 무엇입니까? 나는 새로운 MezeoAccount을 선택 ("데이터") doc.Descendants에 PSO에서 var에 psoQuery = 시도했다 { 이메일 = pso.Element ("이메일"). 값, QuotaMeg = Convert.ToInt64 (pso.Element ("quotaMeg ").). 값. .. 그러나 그것은 아무것도 돌려주지 않았다. Console.Write (doc.Element ("searchResponse") 요소로 값을 가져올 수 있습니다.) 요소 ("pso") 요소 ("psoID") 요소 ("data") 요소 ("email") 값); 그냥 틀렸어. –