分离XML值

时间:2012-06-12 09:25:34

标签: c# oracle11g

我在.Net和Oracle工作。我在表格中有XML数据。我的数据是这样的..

<Goals>
    <Reg>
        <Min>75</Min>
        <Max>90</Max>
    </Reg>
    <Sale>
        <Min>75</Min>
        <Max>90</Max>
    </Sale>
</Goals>

该表中还有其他一些列。我需要获取这个,我应该在gridview中绑定这个值。我的gridview将为这些XML提供单独的列。比如,Reg Min,Reg Max,Sale Min,Sale Max等。

我应该如何分离这些XML值?

2 个答案:

答案 0 :(得分:1)

使用Linq to XML

XDocument doc = XDocument.Parse(str);
string max = (string)doc.Root.Element("Reg").Element("Max");//return Max

答案 1 :(得分:0)

您也可以在DB中执行此操作:

select t.id,
       xmltype(t.xmltext) .extract('//Reg/Min/text()').getstringval() reg_min,
       xmltype(t.xmltext) .extract('//Reg/Max/text()').getstringval() reg_max,
       xmltype(t.xmltext) .extract('//Sale/Min/text()').getstringval() sale_min,
       xmltype(t.xmltext) .extract('//Sale/Max/text()').getstringval() sale_max
  from table_name t

我使用table_name作为您的表名,xmltext作为保存xml的列名(假设它是一个字符串)