如何解析在java中将另一个xml文件作为标记的xml文件?

时间:2012-08-22 11:56:49

标签: java xml xml-parsing

我想解析一个xml文件,其中一个标记/节点有另一个xml文件作为数据,所以我怎么能解析该文件。下面是xml文件:

<?xml version="1.0"?>
<company>
<URL>
<RequestUrl>http://www.google.com
</RequestUrl>
<RequestData>
"<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance"     xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header /><v:Body><PingMe xmlns="visum.Server.Service" id="o0" c:root="1"><Data i:type="d:string">ping</Data></PingMe></v:Body></v:Envelope>"
</RequestData>
</company>

当我打算解析上面的xml文件&amp;检索请求数据标记下的xml文件,它不会返回另一个xml文件的整个字符串,而只返回空字符串,那么我应该如何处理呢?

1 个答案:

答案 0 :(得分:0)

解析这个。您必须使用CDATA才能解释额外的“XML”。

<?xml version="1.0"?>
<company>
<URL>
    <RequestUrl>http://www.google.com</RequestUrl>
    <RequestData>
    <![CDATA[
        <v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance"                 xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"><v:Header /><v:Body><PingMe xmlns="visum.Server.Service" id="o0" c:root="1"><Data i:type="d:string">ping</Data></PingMe></v:Body></v:Envelope>
    ]]>
    </RequestData>
</URL>
</company>