论坛首页 入门技术论坛

如何读带命名空间的xml文件

浏览 1642 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-11  
xml文件如下:

<xs:report  xmlns:xs="http://www.eclipse.org/birt/2005/design">
    <xs:list-property name="cssStyleSheets">
        <xs:structure>
            <xs:property name="fileName">test.txt</xs:property>
        </xs:structure>
    </xs:list-property>
</xs:report>


一、使用dom4j

SAXReader saxReader = new SAXReader();
  File file = new File("f://report.xml");
  Document document = saxReader.read(file);
  List tmp = document
    .selectNodes("//*[local-name()='report' and namespace-uri()='http://www.eclipse.org/birt/2005/design']/* [local-name()='list-property']");//report,list-property属于上下级关系
  Element e =(Element) tmp.get(0);
  System.out.println(e);


二、使用jdom

SAXBuilder sb = new SAXBuilder();
  Document doc = sb.build("f://report.xml"); // 构造文档对象
  Element root = doc.getRootElement(); // 获取根元素
  System.out.println(root);
  Namespace xhtml = Namespace.getNamespace("xs",
    "http://www.eclipse.org/birt/2005/design");
  Element es = root.getChild("list-property", xhtml);
  System.out.println(es);
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics