0

java - 如何从Java中读取此标记的XML <returnMsg>Successful</returnMsg> 值?本例中如何读取标签的数据。我得到 不允许匹配“[xX][mM][lL]”的处理指令目标。异常越来越

     <?xml version="1.0" encoding="utf-8"?>
            <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <soapenv:Body>
                    <doServiceResponse xmlns="http://ocs.ztesoft.com">
                        <doServiceReturn>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;

&lt;zsmart&gt;

  &lt;Data&gt;
    &lt;header&gt;
      &lt;returnMsg&gt;Successful&lt;/returnMsg&gt;
      &lt;ACTION_ID&gt;ModifyBalReturnAllBal&lt;/ACTION_ID&gt;
      &lt;REQUEST_ID&gt;0032013070900000503&lt;/REQUEST_ID&gt;
      &lt;returnCode&gt;0&lt;/returnCode&gt;
    &lt;/header&gt;
    &lt;body&gt;


      &lt;TransactionSN&gt;503&lt;/TransactionSN&gt;
    &lt;/body&gt;
  &lt;/Data&gt;
&lt;/zsmart&gt;
            </doServiceReturn></doServiceResponse></soapenv:Body></soapenv:Envelope>

JAVA代码

dbf = DocumentBuilderFactory.newInstance();
            db = dbf.newDocumentBuilder();

            is = new InputSource();
            is.setCharacterStream(new StringReader(respString));
            doc = db.parse(is);
            nodes = doc.getElementsByTagName("soapenv:Envelope");
            for (int i = 0; i < nodes.getLength(); i++) {
                Element element = (Element) nodes.item(i);



                NodeList txnStatus = element.getElementsByTagName("returnCode");
                Element line = (Element) txnStatus.item(0);
                bean.setTxnStatus(getCharacterDataFromElement(line));



                NodeList message = element.getElementsByTagName("returnMsg");
                line = (Element) message.item(0);
                bean.setMessage(getCharacterDataFromElement(line));
            }

例外

org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
4

1 回答 1

1

有很多方法可以将XML文件转换为JAVA OBJECT. SAXJAXB算法是其中的两个。 JAXB算法更容易使用。我更喜欢使用JAXB. 这里是帮助您从XML文件创建对象的链接。好好享受...

http://www.mkyong.com/java/jaxb-hello-world-example/

于 2013-07-10T05:40:18.433 回答