AS3 XML 객체를 구문 분석합니다
-
19-09-2019 - |
문제
asp.net에서 객체를 다시 얻고 있으며 다음과 같이 XML을 추적 할 때 다음과 같이 추적합니다.
var xml:XML = new XML(event.message.body);
trace(xml);
다음 출력을 얻습니다.
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
<string>One</string>
<string>Two</string>
<string>Three</string>
</ArrayOfString>
나는 줄을 추출하기 위해 구조를 반복하려고 노력하고 있지만 아무 소용이 없습니다. 다음 코드를 사용하고 있습니다.
for each(var item:Object in xml.children())
{
MonsterDebugger.trace(this, item.toString());
}
... 그리고 나는 이것이 완전히 효과적이지 않다는 것을 알고 있습니다. 지금은 작동하지만 @ 부호를 사용하여 일부 구문으로 문자열을 얻는 방법이 있습니다.
누구든지 조언 할 수 있습니까?
해결책
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
<string>One</string>
<string>Two</string>
<string>Three</string>
</ArrayOfString>
네임 스페이스도 처리해야합니다.
var ns:Namespace = new Namespace("http://localhost:49329/");
var strings:XMLList = xml.ns::string;
for each(var str:XML in strings)
trace(str.text());
다른 팁
당신은 그것을 거의 얻었습니다. 같은 루프와 같은 루프를 쓸 수 있어야합니다.
for each( var el:XML in xml.string ) {
trace( el.toString() );
}
이것들을 살펴보십시오 E4X 문서, 이것들은 플렉스 용이지만, 그것은 모두 AS3이기 때문에 적용됩니다. 보시다시피,이 물건의 많은 문서 상태를 볼 수 있듯이 조금 벗겨지기 :)
내 대답을 읽을 수 있습니다 AS3- 가장 깊은 XML 요소SimpleXML을 사용하면 사용하기 쉬운 방식으로 XML을 구문 분석 할 수 있습니다.
제휴하지 않습니다 StackOverflow