先附上api将给定输入源的内容解析为一个 XML 文档,并且返回一个新的 DOM Document 对象。如果 InputSource 为 null,则抛出 IllegalArgumentException。 再附上xml
<?xml version="1.0" encoding="GBK"?>
<Packet type="RESPONSE" version="1.0">
<Head><RequestType>V0101</RequestType><ResponseCode>1</ResponseCode><ErrorCode>0000</ErrorCode><ErrorMessage>成功</ErrorMessage></Head>
<Body>
<CarName>1</CarName><CategoryName>版</CategoryName>
</Body>
</Packet>注意CategoryName标签中的版,两个奇怪的现象1:将CategoryName中的版替换成任何字符都不会报错,写成"版"一直提示元素类型 "CategoryName" 必须由匹配的结束标记 "</CategoryName>" 终止。
2:将"版"子放到旁边的<CarName>,carName开始报错?有没有老司机帮忙分析分析这是什么问题?程序很简单,就两行代码InputStream in = new ByteArrayInputStream(readFile().getBytes("UTF-8"));
Document document = XMLUtils.parse(in);下面是parser方法
public static Document parse(InputStream is)
throws ParserConfigurationException, FactoryConfigurationError, SAXException, IOException
{
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(is);
document.normalize();
return document;
}
<?xml version="1.0" encoding="GBK"?>
<Packet type="RESPONSE" version="1.0">
<Head><RequestType>V0101</RequestType><ResponseCode>1</ResponseCode><ErrorCode>0000</ErrorCode><ErrorMessage>成功</ErrorMessage></Head>
<Body>
<CarName>1</CarName><CategoryName>版</CategoryName>
</Body>
</Packet>注意CategoryName标签中的版,两个奇怪的现象1:将CategoryName中的版替换成任何字符都不会报错,写成"版"一直提示元素类型 "CategoryName" 必须由匹配的结束标记 "</CategoryName>" 终止。
2:将"版"子放到旁边的<CarName>,carName开始报错?有没有老司机帮忙分析分析这是什么问题?程序很简单,就两行代码InputStream in = new ByteArrayInputStream(readFile().getBytes("UTF-8"));
Document document = XMLUtils.parse(in);下面是parser方法
public static Document parse(InputStream is)
throws ParserConfigurationException, FactoryConfigurationError, SAXException, IOException
{
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(is);
document.normalize();
return document;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货