解析 XML 文件 (Java) 中特定标签的内容
Parse content from a specific tag in XML file (Java)
我有一个如下所示的 XML 文件,我需要使用 Java.
我读到我可以使用 SAX 来访问不同的标签,但在这种情况下,在下面的示例中 like 中可以有随机标签,这是无效的。
执行此操作的最佳方法是什么?也许是正则表达式?
<?xml version="1.0" encoding="utf-8"?>
[...]
<source>
<g id="_0">
<g id="_1">First valid sentence</g>
</g>
</source>
<source>Another valid string</source>
输出 results.txt 应该是这样的:
First valid sentence
Another valid string
您可以使用 joox
库来解析 xml
数据。使用它的 find()
方法你可以获得所有 <source>
元素,然后使用 getTextContent()
提取它的文本,如:
import java.io.File;
import java.io.IOException;
import org.xml.sax.SAXException;
import static org.joox.JOOX.$;
public class Main {
public static void main(String[] args) throws SAXException, IOException {
$(new File(args[0]))
.find("source")
.forEach(elem -> System.out.println(elem.getTextContent().trim()));
}
}
我将假定一个格式正确的 xml
文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<root>
<source>
<g id="_0">
<g id="_1">First valid sentence</g>
</g>
</source>
<source>Another valid string</source>
</root>
它产生:
First valid sentence
Another valid string
我有一个如下所示的 XML 文件,我需要使用 Java.
我读到我可以使用 SAX 来访问不同的标签,但在这种情况下,在下面的示例中 like 中可以有随机标签,这是无效的。
执行此操作的最佳方法是什么?也许是正则表达式?
<?xml version="1.0" encoding="utf-8"?>
[...]
<source>
<g id="_0">
<g id="_1">First valid sentence</g>
</g>
</source>
<source>Another valid string</source>
输出 results.txt 应该是这样的:
First valid sentence
Another valid string
您可以使用 joox
库来解析 xml
数据。使用它的 find()
方法你可以获得所有 <source>
元素,然后使用 getTextContent()
提取它的文本,如:
import java.io.File;
import java.io.IOException;
import org.xml.sax.SAXException;
import static org.joox.JOOX.$;
public class Main {
public static void main(String[] args) throws SAXException, IOException {
$(new File(args[0]))
.find("source")
.forEach(elem -> System.out.println(elem.getTextContent().trim()));
}
}
我将假定一个格式正确的 xml
文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<root>
<source>
<g id="_0">
<g id="_1">First valid sentence</g>
</g>
</source>
<source>Another valid string</source>
</root>
它产生:
First valid sentence
Another valid string