1

我有一些示例 xml 数据,例如:

<?xml version="1.0" encoding="utf-8"?>
<Account>
<User>
  <FirstName>John</FirstName>
  <LastName>Doe</LastName>
</User>
<LoginDetails Sequence="1">
  <LoginDate>01/01/09</LoginDate>
  <Status>Successful</Status>
</LoginDetails>
<LoginDetails Sequence="2">
  <LoginDate>01/02/09</LoginDate>
  <Status>Failed</Status>
</LoginDetails>
</Account>

我有这个 xml 的架构文件。我想提供允许最终用户执行以下操作的功能:

  1. 定义要显示的元素。
  2. 为每个元素定义一个标签。
  3. 让用户能够保存这些信息,然后在我加载真正的 xml 数据时在我的应用程序运行时使用它。

我在想也许我可以使用 LINQ 或动态 LINQ 来做到这一点。我想我可以先解析 xml 或使用模式来显示所有节点的列表(可能在树视图中?)并让用户检查他们想要显示的元素并输入标签。

这听起来是个好主意吗?我正在考虑使用 XSLT,但我认为它在 LINQ 中可能更容易。谁能提供一些链接或信息来帮助我实现这一目标?有没有更好的解决方案?

4

2 回答 2

0

您可以使用 XSLT - 请记住它很难阅读和维护。如果您确实使用 XSLT,我建议您可以使用一个名为MapForce的好工具(如果您负担得起的话) ,它将帮助您使用 WYSIWYG 编辑器创建 XSLT 文件。

于 2009-09-24T07:04:44.017 回答
0

最终用户不需要知道 XSLT,但我确实需要为他们提供一种简单的方法来决定显示或不显示哪个元素。

因此,似乎最好的答案是创建一个 UI,允许用户选择他们想要显示的节点,然后简单地将这些信息序列化为一个简单的 xml 文件,这样如果他们需要重新加载设置页面和稍后改变一些东西。

然后我可以根据这些设置生成 XSLT 并利用它来转换传入的 xml?也许,我可以为高级用户提供直接编辑 XSLT 的能力?

这看起来有道理吗?

于 2009-09-24T17:09:39.627 回答