有关String转化为Xml的Document出现的问题?(300分相赠) 为什么不用dom4j来处理。关注gz 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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>"; 我用的jdom带的sax解析器实现你所说:SAXBuilder sb = new SAXBuilder();Document doc = sb.build(new StringReader(strXml));。String reply = doc.getRootElement().getChildText("ReplyToKey");。很简单的。 JAVA代码做简历 问个关于Set的问题(提供线索给分) 〖新手提问〗请问怎么来判断是否有异常? 使用timer定时器线程同步问题 关于初始化的一个问题!! 如何获得当前的日期和时间? 想利用Java实现一个功能,访问其他主机上的ftp服务,并且得到该机器的文件列表 ??? 我在调用FtpClient类的put(filename)函数时,报错???同样的代码为什么有的计算机上可以执行,有的就报异常?高分求救! 大家帮忙看看这个聊天室能用吗,?谢谢了 高手们快来看! 请问哪有Jcreator pro 3.00 注册码 ?急!
附录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>";
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new StringReader(strXml));
。
String reply = doc.getRootElement().getChildText("ReplyToKey");
。
很简单的。