【问题标题】:Convert delimited string to xml in C# using LINQ [closed]使用 LINQ 在 C# 中将分隔字符串转换为 xml [关闭]
【发布时间】:2014-07-10 16:00:26
【问题描述】:

我正在使用 System.Xml 并且有一个文本框,其中包含由\r\n 分隔的字符串。该字符串基本上是一个序列号列表,我希望将其格式化为 XML 以传递给存储过程以运行验证。

现在出现的字符串示例:

"ABC123\r\nDEF456\r\n"

我认为这将是一个非常基本的 XML Schema,例如

<SerialNumbers>
    <Serial>ABC123</Serial>
    <Serial>DEF456</Serial>
<SerialNumbers

实现这一点的基本想法是什么,所以我有一些可以跳板的东西??

【问题讨论】:

  • 创建您的 XML 结构并遍历您的 string.Split() 结果。在此处查看 XML 创建文档:msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx
  • 试图将其解析为 XML - 您正在尝试将数据格式化为 XML,有效。有两个步骤: 1)将您当前的字符串拆分为单独的序列号; 2) 从中创建一个 XML 文档。您遇到了哪些问题?
  • 谢谢大家。你有什么建议可以让这个问题更符合规则吗?我希望这对其他人可用并有所帮助。我去帮助中心看看。

标签: c# xml linq parsing


【解决方案1】:

使用 LINQ 会非常简单,将连续序列拆分为列表/数组后:

var doc = new XDocument(
    new XElement("SerialNumbers",
        (from x in serials select new XElement("Serial", x))
    )
);

【讨论】:

  • 这一行出现了一个奇怪的错误。当前上下文中不存在名称“doc”。我知道通常这意味着您尝试使用的变量尚未声明,所以我有点困惑为什么我会收到这个。有什么想法吗?
  • puu.sh/a5kF6/13cf9aec31.png 代码如下所示。
  • @Dezryth 您缺少类型声明!使用var docXDocument doc 来获取代码编译...
  • 啊,是的,我终于想通了。觉得那个很傻!感谢您的帮助!
猜你喜欢
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
  • 2018-06-09
  • 2011-09-03
  • 1970-01-01
  • 2018-03-20
相关资源
最近更新 更多