【问题标题】:Java XML Parser with Sharepoint xml (http get)带有 Sharepoint xml 的 Java XML 解析器(http 获取)
【发布时间】:2014-01-27 14:23:17
【问题描述】:

我需要一些想法。

我正在为共享点站点开发桌面通知工具。 我通过 http 请求获取当前的新闻源: 域/_api/social.feed/my/timelinefeed(MaxThreadCount=1) 我得到了所有 cmets 的最后一篇文章,并将其保存在一个 xml 文件中,如下所示:

<entry>
<element>
<name>is here an area, where a person posted</name>
<url>null</url>
<text>null</text>
</element>
<element>
<name>Kaito23</name>
<url>domain.de/something....</url>
<text>Hey, I posted something</text>
</element>
<element>Comment1</element>
<element>Comment2</element>
</entry>

我试过这样,但它设置了很多空指针

 File stocks = new File(xmlFile);
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(stocks);
        doc.getDocumentElement().normalize();

        NodeList nodes = doc.getElementsByTagName("d:element");

        Node node = nodes.item(0);
        Element element = (Element) node;

        permalink = getValue("d:Permalink", element);
        createdTime = getValue("d:CreatedTime", element);
                statusText = getValue("d:StatusText", element);
        // creatorName = getValue("d:Name", element);
        // areaName = getValue("d:Name", element);
        imageURL = getValue("d:ImageUri", element);
    } catch (Exception ex) {
        ex.printStackTrace();
    }

对我有什么解决办法吗?

问候快斗

【问题讨论】:

  • 问题不清楚.. 你想做什么??解释清楚..你想从那个 XML 文件中读取什么??
  • 对不起 >.> 我只需要第一个 中的名称和文本以及第二个 中的名称

标签: java xml sharepoint


【解决方案1】:

你可以这样做

    try {

        File fXmlFile = new File(
                "D:\\StackOverFlow\\SAXParserRelated\\src\\stocks.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(fXmlFile);

        doc.getDocumentElement().normalize();

        System.out.println("Root element :"
                + doc.getDocumentElement().getNodeName());

        NodeList nList = doc.getElementsByTagName("element");

        System.out.println("----------------------------");

        for (int temp = 0; temp < nList.getLength(); temp++) {

            Node nNode = nList.item(temp);

            System.out.println("\nCurrent Element :" + nNode.getNodeName());

            if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                Element eElement = (Element) nNode;
                if ((eElement.hasChildNodes())
                        && (eElement.getElementsByTagName("name").item(0) != null)
                        && (eElement.getElementsByTagName("text").item(0) != null)) {

                    System.out.println(" Name : "
                            + eElement.getElementsByTagName("name").item(0)
                                    .getTextContent());
                    System.out.println("Text : "
                            + eElement.getElementsByTagName("text").item(0)
                                    .getTextContent());
                }

            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

如果您遇到任何问题,请告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 2011-06-29
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多