【发布时间】:2017-12-29 22:41:07
【问题描述】:
我想用 Java 解析 XML。 XML 看起来像:
<Attributes><ProductAttribute ID="359"><ProductAttributeValue><Value>1150</Value></ProductAttributeValue></ProductAttribute><ProductAttribute ID="361"><ProductAttributeValue><Value>1155</Value></ProductAttributeValue></ProductAttribute></Attributes>
我的尝试是:
public static void parseXml(String sb) throws Exception{
sb = "<Attributes><ProductAttribute ID="359"><ProductAttributeValue><Value>1150</Value></ProductAttributeValue></ProductAttribute><ProductAttribute ID="361"><ProductAttributeValue><Value>1155</Value></ProductAttributeValue></ProductAttribute></Attributes>";
Document dom;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
dom = db.parse(new InputSource(new ByteArrayInputStream(sb.getBytes("utf-8"))));
dom.toString();
}
我想先看看解析是否进行。但事实并非如此。
我得到错误:
Premature end of file
有人知道,我该如何解析这些?
问题不重复。我已经阅读了另一个问题的答案,例如我的问题,但区别在于 XML。
谢谢
【问题讨论】:
-
好吧,您正在尝试解析不是 XML 的字符串。您需要从 JSON 中获取
AttributesXml属性的 value,然后解析 that。目前尚不清楚所有这些来自何处或您的其余代码是什么样的,但您应该关注的第一件事是获取有效的 XML。 -
首先,得到一个正确的XML,然后对其进行规范化,然后使用getElementsByTagName方法获取值。
-
感谢您的 cmets。我已更改它并获取 AttributesXml 的值,但现在出现错误。我已经更新了我的问题
-
我收到一个新错误:文件过早结束