• sax xpath读取xml字符串


    public static void main(String[] args) throws ParserConfigurationException,
    SAXException, IOException, XPathExpressionException {
    // DocumentBuilderFactory domFactory = DocumentBuilderFactory
    // .newInstance();
    // domFactory.setNamespaceAware(true); // never forget this!
    // DocumentBuilder builder = domFactory.newDocumentBuilder();
    // Document doc = builder.parse("c:/solr.xml");
    // XPathFactory factory = XPathFactory.newInstance();
    // XPath xpath = factory.newXPath();
    // Node nd = (Node)xpath.evaluate("solr/cores/@adminPath", doc, XPathConstants.NODE);
    // String txt = nd.getNodeValue();
    // System.out.println(txt);
    //
    // //多核循环读取,属性读取
    // XPath mulXpath = factory.newXPath();
    // Object o = mulXpath.evaluate("solr/cores/core", doc, XPathConstants.NODESET);
    // NodeList nodes = (NodeList) o;
    // for (int i = 0; i < nodes.getLength(); i++) {
    // Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // // String opt = DOMUtil.getAttr(node, "name", null);
    // // System.out.println(opt);
    // System.out.println(node.getNodeName());
    // Node eNode = node.getFirstChild();
    // System.out.println(eNode.getNodeValue());
    // System.out.println(node.getNodeType());
    // }
    String strXml = "<?xml version="1.0" encoding="utf-8"?><class><stu><id>1,2,3</id></stu></class>";

    DocumentBuilderFactory domFactory = DocumentBuilderFactory
    .newInstance();
    domFactory.setNamespaceAware(true); // never forget this!
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    InputStream inputStream = new ByteArrayInputStream(strXml.getBytes());;
    Document doc = builder.parse(inputStream);
    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();
    //Node nd = (Node)xpath.evaluate("class/stu/@id", doc, XPathConstants.NODE);
    //String txt = nd.getNodeValue();
    // System.out.println(txt);

    //多核循环读取,属性读取
    XPath mulXpath = factory.newXPath();
    Object o = mulXpath.evaluate("class/stu/id", doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) o;
    for (int i = 0; i < nodes.getLength(); i++) {
    Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // String opt = DOMUtil.getAttr(node, "name", null);
    // System.out.println(opt);
    System.out.println(node.getNodeName());
    Node eNode = node.getFirstChild();
    System.out.println(eNode.getNodeValue());
    System.out.println(node.getNodeType());
    }
    }

  • 相关阅读:
    【机器学习】算法原理详细推导与实现(一):线性回归
    《0~3岁孩子的 正面管教》——备忘
    马歇尔·卢森堡《非暴力沟通》——备忘
    李笑来《财富自由之路》——备忘
    select、poll、epoll之间的区别总结[整理]
    堆和栈区别
    Linux 文件系统剖析
    Inside The C++ Object Model(五)
    Inside The C++ Object Model(四)
    Inside The C++ Object Model(三)
  • 原文地址:https://www.cnblogs.com/xjyggd/p/4678800.html
Copyright © 2020-2023  润新知