【发布时间】:2017-07-05 13:47:41
【问题描述】:
我知道如何让函数以 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...
这是,我的意思是......看看它......它的可怕。
我相信必须有一个简单的解决方案,或者至少是一种解决方法。
EDIT 正如@Fabio 在第一条评论中建议的那样,如果 XML 没有根元素,则它是无效的,因此,这个问题变得很愚蠢,因为我确实需要其他系统才能读取我的功能的结果。即便如此,我也不会删除这个问题,因为我希望其他需要这种解决方案的人会像我一样意识到那种 XML 文档是无效的。另外,如果有人回答问题,我会批准答案。
【问题讨论】:
-
没有根元素的结构是无效的 XML 格式。您可以手动创建没有根元素的文件,但标准 Xml 解析器将无法解析它
标签: c# xml asp.net-web-api