簡體   English   中英

從XML文件(Java)中的特定標記解析內容

[英]Parse content from a specific tag in XML file (Java)

我有一個XML文件,如下所示,我需要使用Java在標記中生成一個帶有純文本的.txt文件,每個文件都在一行中。

我讀到我可以使用SAX來訪問不同的標簽,但在這種情況下,在下面的例子中可能有類似的隨機標簽,這是無效的。

這樣做的最佳方法是什么? 也許是正則表達式?

<?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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM