使用xpath获取xml中嵌入的b/w注释值
我试图用某种格式解析xml文档。当我有嵌入b/w注释的标签值时,问题就会出现,例如使用xpath获取xml中嵌入的b/w注释值,xml,xpath,Xml,Xpath,我试图用某种格式解析xml文档。当我有嵌入b/w注释的标签值时,问题就会出现,例如 <document> <field loc="field1">field name 1</field> <field loc="field2"><!--this is a comment-->field name 2<!--also a comment--></field> </document> 任
<document>
<field loc="field1">field name 1</field>
<field loc="field2"><!--this is a comment-->field name 2<!--also a comment--></field>
</document>
任何帮助都将不胜感激。
谢谢那么
/document/field[@loc='field2']
应该足以找到该字段的字符串值,与元素中是否存在任何注释无关。或者也要选择注释?从DOM代码中,您可以访问注释或值,它们与其他所有内容一样显示为子节点(节点类型node_COMMENT value 8)
函数列表注释(ndField){
var i=0;
对于(i=0;i
从XSLT中,使用XSL comment()函数获取注释,或者仅获取实际值的值:of
<xsl:template match="/">
<xsl:for-each select='//field'>
<xsl:value-of select='.'/>
<xsl:value-of select="comment()"/>
</xsl:for-each>
</xsl:template>
希望这有助于
function listComments( ndField ) {
var i = 0;
for( i = 0; i < ndField.childNodes.length; i++ ) {
switch( ndField.childNodes[i].nodeType ) {
case 3: // element
WScript.Echo( "Element Text: " + ndField.childNodes[i].text );
break
case 8: // comment
WScript.Echo( "Comment Text: " + ndField.childNodes[i].data );
break
}
}
}
try {
var xml = new ActiveXObject( strDOMObject );
xml.load( "test.xml" );
var i = 0;
var ndFields = xml.selectNodes( "//field" );
for( i = 0; i < ndFields.length; i++ ) {
listComments( ndFields[i] );
}
<xsl:template match="/">
<xsl:for-each select='//field'>
<xsl:value-of select='.'/>
<xsl:value-of select="comment()"/>
</xsl:for-each>
</xsl:template>