以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  [求助]一个关于selectNodes的迫切的问题!!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=14522)


--  作者:猫猫
--  发布时间:2/18/2005 1:35:00 AM

--  [求助]一个关于selectNodes的迫切的问题!!!
请大家帮忙看看,为什么我用xpath访问元素却取不出来值。

这是我的xml
<ReachEnvelope>
   <Version></Version>
   <Body>
      <BONES>
          <Reference>
 <RequestDate>2001-12-17T09:30:47-05:00</RequestDate>  <RequestReference>PSBReferenceXYZ</RequestReference>
 <RequestLanguageContext R0104:LanguageCode="en"/>
 <RequestType></RequestType>
         </Reference>
         <Lookup>
              <LookupRequest>
     <OrganisationIdentifier> 123456</OrganisationIdentifier>
     <OrganisationType >Company</OrganisationType>
              </LookupRequest>
         </Lookup>
      <BONES>
   <Body>
<ReachEnvelope>


--  作者:猫猫
--  发布时间:2/18/2005 1:42:00 AM

--  
啊,为什么上面xml的格式变得这么乱,大家将就一下吧。。。。
下面是我的访问元素的程序

SAXBuilder builder = new SAXBuilder();
   Document doc = builder.build(fis);   
   Element root = doc.getRootElement();
   
   XPath response_path = XPath.newInstance("/ReachEnvelope/Body/BONES");
   
   
   List response = response_path.selectNodes(doc);
   
   Element ref = null;
//       get element Reference

   ref = (Element)response.get(0);
//       get element LookUp
   Element look = null;
   look = (Element)response.get(1);


就是这一段有错误了。。。。55555~~~~~~请大家帮帮我!


--  作者:kellynic
--  发布时间:4/20/2005 3:34:00 PM

--  
什么语言来的嘎..
--  作者:linghun1
--  发布时间:6/15/2005 2:21:00 PM

--  
那用selectSingleNode试试看
--  作者:wangxmj
--  发布时间:8/11/2005 12:15:00 PM

--  SelectNodes的问题
我的xml文件(C#语言):
<?xml version="1.0" encoding="utf-8" ?>
<指标体系 xmlns="http://tempuri.org/EvalInterface.xsd">
<BC_EXGuidLSYS_XML>
<EXGuidLSYSOID>00029ffb-0000-0000-0000-00003d293582</EXGuidLSYSOID>
<SerialNo></SerialNo>
<GuideLName>技术</GuideLName>
<MyRatio></MyRatio>
<IsRoot>true</IsRoot>
<GuideLLev>0</GuideLLev>
<IsBaseGuideL>false</IsBaseGuideL>
<ZHBGBNo>2</ZHBGBNo>
<ParentOID>00000000-0000-0000-0000-000000000000</ParentOID>
<对象>
 <对象ID>1</对象ID>
 <对象分值></对象分值>
</对象>
<对象>
 <对象ID>2</对象ID>
 <对象分值>3</对象分值>
</对象>
<对象>
 <对象ID>3</对象ID>
 <对象分值>1</对象分值>
</对象>
</BC_EXGuidLSYS_XML>
</指标体系>
--  作者:wangxmj
--  发布时间:8/11/2005 12:22:00 PM

--  SelectNodes的问题
我的代码是(C#语言):
XmlDocument doc = new XmlDocument();
DataSet myData = doc.DataSet;
string xmlfile = "f:\\wxm\\编程\\C#\\EvalArith\\EvalArith-050810\\EvalInterface.xml";
doc.Load(xmlfile);
XmlNode root = doc.DocumentElement; 
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("Eval", "http://tempuri.org/EvalInterface.xsd");

XmlNodeList elemlist = root.geSelectNodes("//Eval:指标体系[BC_EXGuidLSYS_XML/IsBaseGuideL='false]",nsmgr);

上面的代码差不到节点,不知何故,急!!
请各位大侠帮帮忙!
另外是想查询GuideLLev为特定值(如1),并且IsBaseGuideL的值为true的节点,
如何查?
在线等,急!!!


--  作者:wangxmj
--  发布时间:8/12/2005 2:00:00 PM

--  SelectNodes的问题
上面的问题已经解决了,问题在xml文件中,需要把xml文件的第二行改为如下所示:
<指标体系 xmlns:Eval="http://tempuri.org/EvalInterface.xsd">

贴出来供有相同问题的朋友参考一下。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms