首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以表格格式显示XML

以表格格式显示XML
EN

Stack Overflow用户
提问于 2015-01-27 05:52:47
回答 1查看 125关注 0票数 0

我正在开发一个小工具。它将接受各种xml字符串作为输入。我想要做的是将xml (我们可以假定它是格式良好的)转换为表格格式。

我的第一个想法是使用WPF DataGrid。我尝试了下面这样的方法:

代码语言:javascript
运行
复制
string xmlString = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
            <Movies xmlns="""">
              <Movie Name=""Seven Samurai"" Id=""101"" Director=""Akira Kurosawa"">
                   <Comment Value=""1""/>
              </Movie>
              <Movie Name=""Happy Together"" Id=""102"" Director=""Wong Kar Wai"">
                   <Comment Value=""2""/>
              </Movie>
              <Movie Name=""Shoot The Piano Player"" Id=""103"" Director=""Francois Truffaut"">
                   <Comment Value=""3""/>
              </Movie>
              <Movie Name=""Roshomon"" Id=""104"" Director=""Akira Kurosawa"">
                   <Comment Value=""4""/>
              </Movie>
              <Movie Name=""Dead Man"" Id=""105"" Director=""Jim Jarmusch"">
                   <Comment Value=""5""/>
              </Movie>
              <Movie Name=""Children of Heaven"" Id=""106"" Director=""Majid Majidi"">
                   <Comment Value=""6""/>
              </Movie>
            </Movies>";

var sr = new StringReader(xmlString);
var dataSet = new DataSet();
dataSet.ReadXml(sr);
_dataGrid.ItemsSource = dataSet.Tables[0].DefaultView;

这将填充数据网格,但它将仅显示父行。子元素不会出现。这是因为这些元素被放入dataSet (dataSet.Tables1)的另一个表中。

我所需要的只是一个表格格式的xml的只读显示。一些排序/过滤功能会很好,但是我不知道如何(或者是否可能)以一种合理的父子格式将DataSet中的所有表放在一个DataGrid中。

我事先不知道xml的格式,所以我正在寻找一个尽可能通用的解决方案。

也许DataGrid不是理想的控件?

EN

回答 1

Stack Overflow用户

发布于 2015-01-27 07:04:51

您可以使用xslt转换遍历节点以将其转换为表格式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28159422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档