js如何取xml文件中的某一部分

xiaop1108 2006-03-10 11:31:09
如:
<itemlist>
<item name="测试" value="channel1">
<![CDATA[
]]>
</item>
<item name="123" value="channel1">
<![CDATA[
]]>
<SubMenu name="111" value="channel5">
<SubMenu name="112" value="channel8" />
<SubMenu name="113" value="channel9" />
</SubMenu>
<SubMenu name="221" value="channel6">
<SubMenu name="222" value="channe20" />
<SubMenu name="223" value="channe21" />
</SubMenu>
<SubMenu name="331" value="channel7">
<SubMenu name="332" value="channe22" />
<SubMenu name="333" value="channe23" />
</SubMenu>
</item>
</itemlist>
在这xml文件中只要取出value=channel16的节点及其下的所有子节点,该怎么写啊
...全文
274 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
boylez 2006-06-12
  • 打赏
  • 举报
回复
mark
clare2003 2006-03-11
  • 打赏
  • 举报
回复
用load方法就可以了
参考微软的XML Dom Method
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/a7e07766-6cbd-4528-9867-55a5ea2751af.asp

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
var nodeBook, sIdValue;
xmlDoc.async = false;
xmlDoc.load("books.xml");
sIdValue=xmlDoc.selectSingleNode("//book");
sIdValue = nodeBook.getAttribute("id")
mingxuan3000 2006-03-10
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4605/4605489.xml?temp=.8610803
clare2003 2006-03-10
  • 打赏
  • 举报
回复
value=channel16
----------你的xml中没有这个node
xiaop1108 2006-03-10
  • 打赏
  • 举报
回复
哦,谢谢了
现在还有个问题
我的xml文件是应该和js文件分开来存放的,不是在同一个文件里面,那么在js文件里面又是应该怎么样子写呢?
请指教
clare2003 2006-03-10
  • 打赏
  • 举报
回复
<SCRIPT>
function fnCheck(){
var oNode = oMetaData.XMLDocument.selectSingleNode("itemlist").childNodes(1).childNodes(0);

for(var i=0;i<oNode.childNodes.length;i++)
{
alert(oNode.childNodes(i).attributes(1).value);
}

}
</SCRIPT>

<XML ID="oMetaData">
<itemlist>
<item name="测试" value="channel1"></item>
<item name="123" value="channel1">
<SubMenu name="111" value="channel5">
<aa name="112" value="channel8"></aa>
<aa name="113" value="channel9"></aa>
<aa name="113" value="channel10"></aa>
</SubMenu>
<SubMenu name="221" value="channel6"></SubMenu>
<SubMenu name="331" value="channel7"></SubMenu>
</item>
</itemlist>
</XML>

<INPUT TYPE=button VALUE="Test" onclick="fnCheck()" ID=Button1>
xiaop1108 2006-03-10
  • 打赏
  • 举报
回复
另外,按照你的格式的话是怎样把数据取出来的呢?把代码贴出来看一下啊
xiaop1108 2006-03-10
  • 打赏
  • 举报
回复
这个格式是正确的,放在.net 2003里也是ok的,只是在头上没有加上<?xml version="1.0" encoding="gb2312" ?>而已啊
现在这个xml格式的文档就是这样,我们是不可以改标签的,只是要把值取出来啊
clare2003 2006-03-10
  • 打赏
  • 举报
回复
试了一下是这样的
将你的复制到.net的xml编辑中他会说
尽管xml文档格式正确,但无法显示其格式
同一个表submenu不能显示两个嵌套关系的子表
--------------
修改了一下:可以取出数据

<itemlist>
<item name="测试" value="channel1"></item>
<item name="123" value="channel1">
<SubMenu name="111" value="channel5">
<aa name="112" value="channel8"></aa>
<aa name="113" value="channel9"></aa>
</SubMenu>
<SubMenu name="221" value="channel6"></SubMenu>
<SubMenu name="331" value="channel7"></SubMenu>
</item>
</itemlist>
xiaop1108 2006-03-10
  • 打赏
  • 举报
回复
xml文件是对的,浏览器里是正常显示的
这个xml文件的标签不是严格对应的吗?你再仔细看看呢
clare2003 2006-03-10
  • 打赏
  • 举报
回复
你那个xml感觉有点问题!SubMenu到底是怎样对应的??
xml中的都是严格相互对应的!
这能成父子关系吗?
<SubMenu name="111" value="channel5">
<SubMenu name="112" value="channel8" />
<SubMenu name="113" value="channel9" />
</SubMenu>

xiaop1108 2006-03-10
  • 打赏
  • 举报
回复
上面写错了,应该是取出value=channel6的节点及其下的所有子节点
该怎么写啊
那个给的不详细啊
我又不想全部都取出来,只要value=channel6及其下的子节点即value=20和21的值啊

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧