【问题标题】:java xml with tree structure [closed]具有树结构的java xml [关闭]
【发布时间】:2015-04-30 19:26:21
【问题描述】:

我知道如何使用这种代码获取文件的 xml 元素:

http://www.omdbapi.com/?i=tt2820850&plot=full&r=xml

因为有一个根元素和一个包含一些信息的电影元素。

但是在这个链接中:

http://api.traileraddict.com/?film=fifty-shades-of-grey&count=1

我需要电影的嵌入代码,这是树的第三个元素,我只知道如何为 max 2 结构做。 此外,我应该只将 iframe 代码放入我的 webview 元素中,但我没有在 java 中使用正则表达式的经验。

【问题讨论】:

    标签: java regex xml


    【解决方案1】:

    我建议你不要尝试使用正则表达式,而是尝试这样的事情:

    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    
    public static void main(String[] args) throws Exception {
        String url = "http://api.traileraddict.com/?film=fifty-shades-of-grey&count=1";
        parse(url);
    }
    
    public static void parse(String strUrl) throws Exception {
        URL url = new URL(strUrl);
        URLConnection connection = url.openConnection();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        try (InputStream is = connection.getInputStream()) {
            Document doc = db.parse(is);
            NodeList nList = doc.getElementsByTagName("embed");
            Node embedItem = nList.item(0);
            System.out.println(embedItem.getTextContent());
        }
    }
    

    注意:这里我使用了 DOM 解析器,你可以试试 sax 或 stax

    【讨论】:

    • 节点列表部分看不懂...
    • 它是一个名为'embed'的节点列表,因为只有一个名为'embed'的标签,所以获取第一个(它的索引以0开头)
    • 我想在 webview 中使用我真正需要的代码。因为我在网上搜索了解决方案,但我只找到了 YouTube 示例。我需要类似 webview.getEngine().load(???) 的代码
    • 你的意思是,在 iframe 内?如果是这样,那么可以使用 html 解析器来解析文本(如果我没记错的话,jSoup 就是其中之一)
    猜你喜欢
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多