13

.NET では、 XElementからテキスト コンテンツを読み取るにはどうすればよいですか?

たとえば、XElement から

XElement.Parse("<tag>Alice &amp; Bob<other>cat</other></tag>")

「アリスとボブ」という文字列をお願いします


試してみelement.Valueましたが、「アリスとボブキャット」が返されます:(

4

6 に答える 6

11
 XElement t = XElement.Parse("<tag>Alice &amp; Bob<other>cat</other></tag>");
 string s = (t.FirstNode as XText).Value;
于 2012-10-15T15:38:52.897 に答える
1

次のコードを試してみてください。

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            var parent = XElement.Parse("<tag>Alice &amp; Bob<other>cat</other></tag>");
            var nodes = from x in parent.Nodes()
                            where x.NodeType == XmlNodeType.Text
                            select (XText)x;

            foreach (var val in nodes)
            {
                Console.WriteLine(val.Value);
            }
            Console.ReadLine();
        }
    }
}
于 2012-10-15T15:12:07.047 に答える
0

を使用element.FirstNodeすると、要素「Alice & Bob」内にある生のコンテンツを取得できるため、アンパサンドを「エスケープ解除」するだけで、期待どおりの結果が得られます。

于 2012-10-15T15:08:29.870 に答える
0
XElement t= XElement.Parse("<tag>Alice &amp; Bob<other>cat</other></tag>");
string s = t.FirstNode.ToString();
于 2012-10-15T15:12:17.680 に答える