热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有如下XML文档,如何解析其中的属性?

有如下XML文档,如何解析其中的属性?<?xmlversion1.0encodinggb2312?><TreeNode>&
有如下XML文档,如何解析其中的属性?



href="GroupUnitList.asp?GroupID=0&GroupType=1" 
Xml="xtree/tree1_Units.asp?DeviceGroupID=0">
images/group1.gif

href="GroupUnitList.asp?GroupID=1&GroupType=1" 
Xml="xtree/tree1_Units.asp?DeviceGroupID=1">
images/group1.gif



我会解析“元素”,但这个属性我试了两天了,还没有试出来。
请各位大哥帮帮忙了!多谢了!

7 个解决方案

#1


会取接点了,拿属性还不容易

看看这篇文
http://www.vczx.com/article/show.php?id=361

#2


怎么没人理了,我查了csdn以前的贴子,没有查到相关的答案.各位大哥多谢了!指点一下小弟吧.

#3


to:duyhui(一天到晚游泳的鱼),您说的那个网页,我看了,主要写的是写入属性,我现在想用读取一个属性。看了这篇文章之后,还是没有思路来读取一个属性。
还想麻烦您再指点一下了,谢谢!

#4


MSXML

#5


我知道是用MSXML,我可以分析出元素来.我使用的是msxml2,不知道是不是可以.这是我的代码,

MSXML2::IXMLHTTPRequestPtr pXMLHTTPRequest = NULL;
try
{
CString strServerName = "http://" + pApp->m_strIPAddr + "/xtree/tree1_unitgroup.asp";
TESTHR(pXMLHTTPRequest.CreateInstance("Msxml2.XMLHTTP"));
TESTHR(pXMLHTTPRequest->open("POST", strServerName.AllocSysString(), VARIANT_FALSE));
TESTHR(pXMLHTTPRequest->setRequestHeader("CONTENT-TYPE", "text/xml"));
TESTHR(pXMLHTTPRequest->send());

MSXML2::IXMLDOMDocumentPtr pXMLDOMDocument = pXMLHTTPRequest->responseXML;
//下面这句可以正确的把XML文档存下来,存的结果题目所示的格式
pXMLDOMDocument->save(_variant_t("c:\\tree1_unitgroup.xml"));

MSXML2::IXMLDOMNodeListPtr pXMLDOMNodeList = pXMLDOMDocument->selectNodes("TreeNode");
// long l = pXMLDOMNodeList->length;

for(int i = 0; i < pXMLDOMNodeList->length; i ++)
{
MSXML2::IXMLDOMNodePtr pIXMLDOMNode = pXMLDOMNodeList->item[i];
MSXML2::IXMLDOMNamedNodeMapPtr pAttrMap=NULL;
MSXML2::IXMLDOMNodePtr pAttrItem;

_variant_t variantvalue;
pIXMLDOMNode->get_attributes(&pAttrMap);
long  count=pAttrMap->get_length(&count);
AfxMessageBox((char *)count);
_bstr_t nodeName=pIXMLDOMNode->nodeName;

BSTR strAttrName;
BSTR strAttrValue;
pAttrMap->get_item(0,&pAttrItem);  //在这里就出错了.
pAttrItem->get_nodeName(&strAttrName);
pAttrItem->get_text(&strAttrValue);
AfxMessageBox((char *)strAttrName);
AfxMessageBox((char *)strAttrValue);


//取得节点的值
pAttrItem->get_nodeValue(&variantvalue);
CString m_strId=(char*)(_bstr_t)variantvalue;
AfxMessageBox(m_strId);


}
请大哥指点一下,如何来分析属性,我的代码为什么不行?多谢了!多谢了!

#6


IXMLDOMNodePtr node;
node=pDoc->selectSingleNode(_bstr_t("/全部服务/服务集合/服务"));
IXMLDOMElementPtr spDev;
spDev=node;
value=spDev->getAttribute("ID");

#7


上面这个可以的,我今天正好在做这个方面的内容

推荐阅读
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
author-avatar
手机用户2702933521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有