为什么不用dom4j来处理。
关注
gz

解决方案 »

  1.   

    to gong1(轻松编程):上面给出的String2Doc的方法是参照JavaAlamanic里面的参考实现写的。用了很久了,因为近期做比较细致和大量的Xpath工作,才发现用上面方法生成的Document在Xpath方面只能对非常有限的Xpath表达式正常工作。JDom用过,那个和Dom4j是一回事情吗?---------------
    附录B, 我所用的xml文件<?xml version="1.0" encoding="GB2312"?>
    <WfMessage Version="1.0" xmlns="http://www.wfmc.org/standards/docs/Wf-XML">
    <WfTransport>
    <Dialog MessageID="消息ID号UUID" Mode="individual" Type="synch">
    <ReplyToKey>服务请求者URI</ReplyToKey>
    <Credential>类似于密码的东东</Credential>
    </Dialog>
    </WfTransport>
    <WfMessageHeader>
    <Request RequestID="请求ID号UUID" ResponseLang="zh" ResponseRequired="Yes"/>
    <Key>具体请求的服务提供者SP_URI</Key>
    </WfMessageHeader>
    <WfMessageBody>
    <CreateProcessInstance.Request>
    <ContextData> <Parameter Name="参数名">参数内容Shaohua</Parameter>
    </ContextData>
    </CreateProcessInstance.Request>
    </WfMessageBody>
    </WfMessage>--------------
    附录C 用到的Xml的String版 String req = "<?xml version=\"1.0\" encoding=\"GB2312\"?>" +
        "<WfMessage xmlns=\"http://www.wfmc.org/standards/docs/Wf-XML\" Version=\"1.0\">" +
        "<WfTransport>" +
        "<Dialog Type=\"synch\" Mode=\"individual\" MessageID=\"消息ID号UUID\">" +
        "<ReplyToKey>服务请求者URI</ReplyToKey>" +
        "<Credential>类似于密码的东东</Credential>" +
        "</Dialog>" +
        "</WfTransport>" +
        "<WfMessageHeader>" +
        "<Request ResponseRequired=\"Yes\" ResponseLang=\"zh\" RequestID=\"请求ID号UUID\"/>" +
        "<Key>具体请求的服务提供者SP_URI</Key>" +
        "</WfMessageHeader>" +
        "<WfMessageBody>" +
        "<CreateProcessInstance.Request>" +
        "<ContextData> <Parameter Name=\"参数名\">参数内容Shaohua</Parameter></ContextData>" +
        "</CreateProcessInstance.Request>" +
        "</WfMessageBody>" +
        "</WfMessage>";
      

  2.   

    我用的jdom带的sax解析器实现你所说:
    SAXBuilder sb  = new SAXBuilder();
    Document doc = sb.build(new StringReader(strXml));

    String reply = doc.getRootElement().getChildText("ReplyToKey");

    很简单的。