c# - 如何在 C# 中从包含 XML 的字符串中读取数据?

标签 c# xml visual-studio-2010 xml-parsing

我在这个问题上找到了很多答案,但他们都试图先将字符串转换为文件,然后尝试使用 XmlDocument doc = new XmlDocument(); 解析它p>

我是 c# 的新手。我的字符串格式是:

<a header = '0'> < row dc = '123' al = '45' msg = '1-st line'/> < row dc = '678' al = '8' msg = 'second-line'/> </a>

我正在尝试编写伪代码来解析它:

IF <a header> == 0
Then read from the second line to last line i.e. dc = 678 , al = 8, msg = second-line
ELSE read from the first line to last line i.e.  
  dc = 123 , al = 45, msg = 1-st line
 dc = 678 , al = 8, msg = second-line

在此之后我必须插入到数据库中。在应用上述条件时,什么是合适的解决方案?

最佳答案

您不必保存到文件来解析 XML。

var xml = "<a header='0'> <row dc='123' al='45' msg='1-st line'/> <row dc='678' al='8' msg='second-line'/> </a>";
var doc = XElement.Parse(xml);
var list = from x in doc.Descendants("row")
            select new 
            {
                dc = (int)x.Attribute("dc"),
                al = (int)x.Attribute("al"),
                msg = (string)x.Attribute("msg")
            };

这个简单的示例将为您提供一个匿名对象列表,然后您可以轻松地将其插入到数据库中。

关于c# - 如何在 C# 中从包含 XML 的字符串中读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064075/

相关文章:

html - at 符号 (@) 是有效的 HTML/XML 标记字符吗?

c# - 解析具有相同名称元素的复杂 XML

c# - 使用包含来自托管代码的指针的 Fortran 类型

c# - 在循环中创建新线程

javascript - 使用firebase存储数据以生成xml

c# - 有没有办法从 C# 代码中修改 Visual Studio 2008 或 2010 项目预构建事件?

visual-studio-2010 - 从 TFS2010 中删除警报

c++ - cvScalar 的顺序

c# - “使用”语句与 'try finally'

c# - 使用 LINQ 插入/选择 - 绕过查询中的实体构造