leijuanjuan 2010-08-17 14:41
浏览 263
已采纳

读取xml

[code="java"]
public class TestXml {

public static void main(String[] args) throws Exception {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setNamespaceAware(true); // never forget this!

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse("d://dd.xml");

                XPathFactory pathFactory = XPathFactory.newInstance();   

                XPath xpath = pathFactory.newXPath();   

                XPathExpression pathExpression = xpath.compile("//Model/o:Column/a:Name/text()");    

                Object result = pathExpression.evaluate(doc, XPathConstants.NODESET);   

                NodeList nodes = (NodeList) result;   
                for (int i = 0; i < nodes.getLength(); i++) {   
                        System.out.println(nodes.item(i).getNodeValue());   
                }   
        }   
} 

[/code]
dd.xml
[code="java"]
<?xml version="1.0" encoding="GB2312"?>
<?PowerDesigner AppLocale="UTF16" ID="{64EF704A-101D-4EF0-B2F3-F2586373698A}" Label="" Name="rank" Objects="203" Symbols="12"ID="{64EF704A-101D-4EF0-B2F3-F2586373698A}" Label="" Name="rank" Objects="203" Symbols="12" Target="ORACLE Version 10g" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML"version="12.0.0.1700"?>

627887B7-D8B5-4151-936A-15A527C092B1/a:ObjectID
排行控制表ID/a:Name
rank_control_id/a:Code
1269244973/a:CreationDate
Administrator/a:Creator
1269259813/a:ModificationDate
Administrator/a:Modifier
排行控制表主键/a:Comment
NUMBER(19)/a:DataType
19/a:Length
1/a:Mandatory
/o:Column

[/code]
这样为什么不能读取?
但是下面这个不要命名空间的可以读取
[code="java"]
<?xml version="1.0" encoding="GB2312"?>
<?PowerDesigner AppLocale="UTF16" ID="{64EF704A-101D-4EF0-B2F3-F2586373698A}" Label="" Name="rank" Objects="203" Symbols="12"ID="{64EF704A-101D-4EF0-B2F3-F2586373698A}" Label="" Name="rank" Objects="203" Symbols="12" Target="ORACLE Version 10g" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML"version="12.0.0.1700"?>


627887B7-D8B5-4151-936A-15A527C092B1
排行控制表ID
rank_control_id
1269244973
Administrator
1269259813
Administrator
排行控制表主键
NUMBER(19)
19
1


[/code]

  • 写回答

5条回答 默认 最新

  • oyj7454103 2010-08-17 16:01
    关注

    [quote]试试去解析一下pdm文件里面的表的字段的信息。我现在就在搞这个,很难解析啊 [/quote]

    难怪 PowerDesigner 的 看你的XML 咋那么别扭了! 好的我试试!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置