私のFlexアプリケーションでは、XMLを返すいくつかの.NET WebServiceを呼び出します。ただし、これらのWebサービスはすべて名前空間を使用してXMLを返します。私は読んで/名前空間を参照せずにXMLを解析、私はWebサービスを呼び出して、各クラスに次のコード行を含める必要があることを意味することはできません。XML文書から名前空間を削除するにはどうすればよいですか?
private namespace PCRWebServices = "xxx.somename.web.services";
use namespace PCRWebServices;
私はハード、この静的/の必要性を排除したいと思いますコード化されたロジックはWebServiceからXMLを読み込むだけです。
「通常の」XML文書として読み取ることができるように、XMLから名前空間を「削除する」方法はありますか?
私は結果や障害を扱うすべてのWebサービス呼び出しの拡張クラスがあります:私はXMLを「変換」に結果ハンドラにいくつかのロジックを追加したいと思い
private function faultHandler(event:FaultEvent):void
{
}
private function resultHandler(event:ResultEvent):void
{
var resultXML:XML = new XML(event.result);
}
を。何か案は?
これに何trace(resultXML)
リターン:
<GetDataResult xmlns="xxx.somename.web.services">
<DataSet>
<Data>
<IdNmb>15</IdNmb>
<NameTxt>Hello</NameTxt>
</Data>
<Data>
<IdNmb>16</IdNmb>
<NameTxt>World</NameTxt>
</Data>
<Status>
<Status>Success</Status>
</Status>
<ReturnCode>
<ReturnCode>0</ReturnCode>
</ReturnCode>
</DataSet>
</GetDataResult>
これは1つの名前空間だけを削除します... –
ありがとうございます。これは私の質問に答えたので、downvoteの必要性を見ていない "名前空間"。私はあなたの答えをとにかくupvoteします。 –
ちょっと短い: var xmlString:String = xml.toXMLString(); \t \t \t xmlString = xmlString.replace(/のxmlns = "[^"] + "/ G ''); \t \t \tリターン新しいXML(xmlString)。 – Nux