【发布时间】:2022-01-19 08:42:53
【问题描述】:
我有 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<questions>
<question>
<name>First question</name>
<true>2</true>
<answers>
<answer>First answer</answer>
<answer>Second answer</answer>
<answer>Third answer</answer>
<answer>Fourth answer</answer>
</answers>
</question>
<question>
<name>Second question</name>
<true>3</true>
<answers>
<answer>First answer</answer>
<answer>Second answer</answer>
<answer>Third answer</answer>
<answer>Fourth answer</answer>
</answers>
</question>
</questions>
为什么当下面的Java代码执行时,它返回了9个元素而不是4个,并且错误的5个元素包含一个换行符和3个制表符,在<answers>和<answer>(一个)之间,</answer>和<answer>(三个)、</answer> 和 </answers>(一个)在 XML 中:
File file = new File(path);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document doc = documentBuilder.parse(file);
NodeList answers = doc.getElementsByTagName("answers").item(n).getChildNodes();
接下来,我做一个检查以切断错误的元素:
if (answers.item(i).getTextContent().trim().length() > 0)
如果您能告诉我一个更好的方法,我将不胜感激。
【问题讨论】: