C# 使用XPath绑定表达式时,是否可以返回InnerXml而不是InnerText?

C# 使用XPath绑定表达式时,是否可以返回InnerXml而不是InnerText?,c#,asp.net,xml,data-binding,C#,Asp.net,Xml,Data Binding,我将控件绑定到XmlDocument,并使用“XPath”绑定表达式输出数据: <div class="Bio"><%# XPath("Biography") %></div> 但是,这将返回“传记”元素的InnerText属性,而不是InnerXml。这意味着它会将所有内部标记从中剥离,这不是我想要的 我查看了XPathBinder对象,但无论如何都找不到让它返回InnerXml而不是InnerText的方法。XPath返回的是值而不是节点,因此无法通

我将控件绑定到XmlDocument,并使用“XPath”绑定表达式输出数据:

<div class="Bio"><%# XPath("Biography") %></div>

但是,这将返回“传记”元素的InnerText属性,而不是InnerXml。这意味着它会将所有内部标记从中剥离,这不是我想要的


我查看了XPathBinder对象,但无论如何都找不到让它返回InnerXml而不是InnerText的方法。XPath返回的是值而不是节点,因此无法通过这种方式获取InnerXml。您能否定义一个返回SelectSingleNode(…).InnerXml的方法?如果您定义了一个方法,例如

public string GetInnerXml(object o)
{
    string val = String.Empty;
    XmlNode parent = o as XmlNode;
    XmlNode child = parent.SelectSingleNode("bob/fred");
    if (child != null)
        val = child.InnerXml;
    return val;
}

然后从绑定表达式中调用它,这应该可以做到。代码应该是正确的,但我还没有测试过,所以可能会有错误。

这不是我希望的,但我会给你一个公认的答案,因为你至少告诉我我不能做我想做的事……嗨,Daene。。我现在也在寻找同样的结果。你从哪里弄到的?不,我从来没有改变过这种行为。实际上,如果您想要InnerXml,那是因为它包含标记(通常是HTML),在这种情况下,它可能应该是CDATA。谢谢Deane。我不知怎的发现这是不可能的。谢谢你指点我。