문제

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을 구문 분석 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top