Java使用DOM阅读器获取属性

Java使用DOM阅读器获取属性,java,xml,Java,Xml,嘿,我想获取提要的属性 这是我的实际代码: DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuil

嘿,我想获取提要的属性

这是我的实际代码:

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    try {
        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();

            Document document = documentBuilder.parse(this.getUrlStream());
            document.getDocumentElement().normalize();
            NodeList nodeList = document.getElementsByTagName("item");

            for (int i = 0; i <= nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                System.out.println("Node name: " + node.getNodeName());
                Element element1 = (Element) node;
                System.out.println("title; " + element1.getElementsByTagName("title").item(0).getTextContent());
                Element element = (Element) node;
                if(node.getNodeType() == Node.ELEMENT_NODE) {


                    this.title = element.getElementsByTagName("title").item(0).getTextContent();




                    System.out.println("description" + element.getElementsByTagName("description").item(0).getTextContent());

                    String attribute = element.getAttribute("src");
                    System.out.println(attribute);
                }

            }


    } catch (ParserConfigurationException | SAXException | IOException ex) {
        ex.printStackTrace();
    }
没什么

Rss源:


提前非常感谢

您正在
标记的
元素
对象上使用
getAttribute()
。但是,您必须首先使用
getElementsByTagName()
选择
标记,就像您已经做的那样。因此,您必须使用以下内容:

for (...) {
   // ...

   // "element" is the object for the <item> tag
   Element enclosure = (Element)element.getElementsByTagName("enclosure").item(0);
   String url = enclosure.getAttribute("url");
}
(…)的
{
// ...
//“元素”是标记的对象
元素enclosure=(元素)Element.getElementsByTagName(“enclosure”).item(0);
字符串url=enclosure.getAttribute(“url”);
}

在撰写本文时,没有一个
元素具有
url
属性或子元素,但它们具有
子元素。初始的
元素有一个子元素
;某些项具有
,该属性具有
url
属性。你想打印其中任何一个吗?@VGR我想打印附件中的url属性。您似乎知道如何使用
元素.getElementsByTagName
,那么为什么不使用它来获取子
元素,并检查该元素的
url
属性呢?请记住,如果项没有子项,则返回的节点列表的长度将为零。像这样吗?nodeList=document.getElementsByTagName(“附件”);对于(int i=0;i您真正想做什么?您想要URL以外的任何信息吗?(我不知道您从哪里获得的
“src”
;这三个字母在XML文档中的任何地方都不会出现。)嘿,首先感谢你的回答。我试过你的例子。但它不起作用。@marvin_fritz此代码与你问题中的代码相结合是有效的。请记住,你必须使用
“url”
,而不是
“src”
for (...) {
   // ...

   // "element" is the object for the <item> tag
   Element enclosure = (Element)element.getElementsByTagName("enclosure").item(0);
   String url = enclosure.getAttribute("url");
}