我有一个xml字段,如下所示
"1. Some text"
XT>
我想要像
这样的结果/c_text/text()
如何使用xpath这个
我使用了var temp = new List<TEntity>();
using (var reader = await cmd.ExecuteReaderAsync()) {
while(await reader.ReadAsync()) {
temp.add(CreateEntity(reader)) ;
}
}
return temp;
// this is tightly coupled to object. Generic methods can be made
// to convert reader to object
public TEntity CreateEntity(SqlDataReader reader) => new TEntity()
{
Id = reader.GetInt32("id"),
Col1 = reader.GetString("col1"),
Col2 = reader.GetString("col2"),
Col3 = reader.GetString("col3")
};
,但我得到了部分结果,即&#34;。一些文字&#34;
标签内的数据丢失。
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
/c_text/text()
选择c_text
的文本节点子节点。您应该利用节点string-value ...
text()
对于这个XML,纠正为格式良好并消除了可能错误使用字符串引用,
<c_text><b>1</b>. Some text</c_text>
这个XPath,
string(/c_text)
将选择c_text
,
1. Some text
按要求。
答案 1 :(得分:0)
你可以像这样使用:
<xsl:template match="c_text">
<xsl:value-of select="."/>
</xsl:template>