如何将字符串值解析为 xml 并将其绑定到数据集

发布于 2024-12-10 11:23:37 字数 258 浏览 0 评论 0原文

我正在尝试从数据库中检索 5 列,其中一列是 XML 类型。返回数据集时,它被视为字符串。我需要将该值提取为 xml 并绑定到另一个数据集。

例如:如果我的查询向数据集返回 5 列,则其中一列是 xml。我需要提取该值并将其作为 xml 存储到另一个数据集。

我尝试使用 dstDataset.Tables[0][3].toString(); 它将整个 xml 作为字符串返回。现在我需要解析为 xml 并绑定到另一个数据集。

我希望你们能明白我的问题。

i am trying to retrive 5 column from database, in one is type of XML . while returning to dataset it is treated as string. i need to extract that values as xml and bind to another dataset.

for eg : if my query returns 5 column to dataset, one column is xml. i need to extract that values and store it to another dataset as xml .

i tried to use dstDataset.Tables[0][3].toString(); it returned the entire xml as string. now i need to parse as xml and bind to another dataset.

i hope you pepole got my question.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空城旧梦 2024-12-17 11:23:37

看一下下面的代码:

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

string xmlData = "<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>";

System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);

dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);

如果您用列中的数据替换 xmlData 并确保架构正确,这应该可以工作。

take a look at the following code:

DataSet dataSet = new DataSet();
DataTable dataTable = new DataTable("table1");
dataTable.Columns.Add("col1", typeof(string));
dataSet.Tables.Add(dataTable);

string xmlData = "<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>";

System.IO.StringReader xmlSR = new System.IO.StringReader(xmlData);

dataSet.ReadXml(xmlSR, XmlReadMode.IgnoreSchema);

If you replace xmlData with your the data from the column and make sure the schema is correct this should work.

没有你我更好 2024-12-17 11:23:37

也许您可以使用:

using System.Xml.Linq;
(...)
XDocument xmlXDoc = XDocument.Parse(dstDataset.Tables[0][3].toString());

然后您可以使用以下方式获取 XML:

xmlXDoc.ToString()

或者,如果您喜欢不带格式(缩进的 XML):

xmlXDoc.ToString(SaveOptions.DisableFormatting)

有关 LINQ to XML 的更多信息: http://msdn.microsoft.com/en-us/library/bb387044.aspx

Maybe you can use:

using System.Xml.Linq;
(...)
XDocument xmlXDoc = XDocument.Parse(dstDataset.Tables[0][3].toString());

Then you can get the XML with:

xmlXDoc.ToString()

Or, if you prefer it without formatting (indented XML):

xmlXDoc.ToString(SaveOptions.DisableFormatting)

More info about LINQ to XML: http://msdn.microsoft.com/en-us/library/bb387044.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文