我目前正致力于一个与政府托管的WebService合作的解决方案(因此没有机会改变这方面的任何内容;-))。
我正在使用的方法返回一个XML字符串 - 到目前为止一直很好。
现在的问题是: 返回的XML可能有很多不同的结构,无法找出返回的结构。没有XSD或其他任何可用的东西......
伪代码示例:
string XmlFileContent = WebService.MethodGetXMLFile(filekey)
XmlFileContent可以例如看起来像这样:
<XML>
<Field1>sometext</Field1>
</XML>
或
<Table Date ="20150302" Time = "0946">
<Row>
<Field1>sometext</Field1>
<Field2>2341.5145</Field2>
</Row>
</Table>
或您可以想到的任何类型的XML ......
所以问题是:是否有任何可能性或工具以可接受的方式显示此XML内容?格式化可以忽略,我只想以比显示纯XML文本更好的方式显示数据。
使用WebService的客户端是用C#(.NET 4.5)编写的,显示XML数据的技术并不重要 - 任何有用的东西都是完美的。 (也许是HTML或那种!?)
答案 0 :(得分:1)
只要第一个例子是错误的(它不是正确的xml) 如果你只想展示它,你可以试试这样的东西。你必须显然添加一些格式,但它比普通的xml更友好。
[Test]
public void test()
{
var a = @"<XML>
<Field1>sometext</Field1>
</XML>";
var b = @"<Table Date ='20150302' Time = '0946'>
<Row>
<Field1>sometext</Field1>
<Field2>2341.5145</Field2>
</Row>
</Table>";
XDocument doc=XDocument.Parse(b);
PrintAllNodes(doc.Descendants());
}
private void PrintAllNodes(IEnumerable<XElement> nodes)
{
foreach (var node in nodes)
{
foreach (var xAttribute in node.Attributes())
{
Console.WriteLine(xAttribute.Name + ": " + xAttribute.Value);
}
Console.WriteLine(node.Name + " " + node.Value);
}
}