我知道如何使函数返回"漂亮"结果为xml,我想要那个,但没有额外的父元素。
使用此功能
[HttpGet]
public XElement MyFunction() { ... }
让我走了一半。我明白了:
<Result>
<row>
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
<row>
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
</Result>
我想要这样的结果:
<row>
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
<row>
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
使用这样的功能:
[HttpGet]
public IEnumerable<XElement> MyFunction() { ... }
给我一个这样的结果:
<ArrayOfXElement
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.datacontract.org/2004/07/System.Xml.Linq">
<XElement>
<row xmlns="">
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
</XElement>
<XElement>
<row xmlns="">
<cell>...</cell>
<cell>...</cell>
<cell>...</cell>
</row>
</XElement>
etc...
这就是我的意思......看看它......它的丑陋。
我认为必须有一个简单的解决方案,或者至少是一种解决方法。
编辑正如@Fabio在第一条评论中所建议的那样,如果XML没有根元素,则XML无效,因此,这个问题变得愚蠢,因为我确实需要其他系统才能阅读我的功能的结果。即便如此,我也不会删除这个问题,因为我希望像我一样需要这样的解决方案的人会意识到那种XML文档是无效的。此外,如果有人回答了这个问题,我会批准答案。
答案 0 :(得分:0)
获取读者并获取innerXml。这应该可以满足您的需求。
var MainElement= XElementA.CreateReader();
MainElement.MoveToContent();
var Content=MainElement.ReadInnerXml();