读书人

xslt中获取节点上的值和子节点

发布时间: 2012-12-18 12:43:41 作者: rapoo

xslt中获取节点下的值和子节点
如下xml,


<root>
111
<abc/>
222
<def />
</root>


想获取的结果是:
111
<abc/>
222
<def />

使用./*
则只能获取到abc 和def两个节点。肿么办。
[最优解释]
<xsl:copy-of select="/root/."></copy-of>
[其他解释]
1)使用序列化函数序列化

浏览器
序列化(IE不支持)
var text = (new XMLSerializer()).serializeToString(element)

ie:
document.write("<xmp>"+Node.xml+"</xmp>")

2)自己写方法serialize()处理
1\读取root子节点,遍历
如果 文本节点,输出文本值 child.nodeValue
如果 元素节点element,拼写 "<"+element.NodeName+">"+递归serialize()+"</"+element.nodeName+">"
...

看你处理xml的环境了,估计一般都有序列化函数

继续观看其它想法:)

读书人网 >XML SOAP

热点推荐