阅读xml的最佳方式

时间:2011-10-25 09:19:06

标签: c# xml linq xpath xmlreader

阅读XML的最佳方法是什么?

我的xml就是这样 我会有很多

<A> and <B>, not sure how many will be there and I have to read the whole xml file.

我不能说像

这样的子元素
<180> will be there under <A> for sure. So does the other element.

但如果它在那里我必须阅读它。

我应该使用LINQ,XPath还是XMLReader?哪一个更好更容易?

        <A>
            <180>20130218</180>  ///180 is here
            <170>5</170>
            <220>20080210</220>
            <730 CLID='AAA' KW='BBB' KW2='INTERNATIONAL'>
                <731>BBB INTERNATIONAL AG</731>
                <732>XXX</732>
                <735>US66</735>
                <734>YYY</734>
            </730>
            <300>
                <301>
                    <320>20071100</320>
                    <310>12345</310>
                </301>
                <330>US</330>
            </300>
        </A>
        <A>                    ///180 is not here
            <170>5</170>
            <220>20080210</220>
            <730 CLID='AAA' KW='BBB' KW2='WORLD'>
                <731>BBB INTERNATIONAL AG</731>
                <734>YYY</734>
            </730>
            <300>
                <301>
                    <320>20071100</320>
                    <310>12345</310>
                </301>
                <330>UK</330>
            </300>
        </A>
        <B>
            <180>20130218</180>
            <170>5</170>
            <220>20080210</220>
            <730 CLID='AAA' KW='BBB' KW2='INTERNATIONAL'>
                <731>BBB INTERNATIONAL AG</731>
                <732>XXX</732>
                <733>JP</733>
                <735>JP66</735>
                <734>YYY</734>
            </730>
            <300>
                <301>
                    <320>20071100</320>
                    <310>12345</310>
                </301>
                <330>JP</330>
            </300>
        </B>

1 个答案:

答案 0 :(得分:6)

  

我应该使用LINQ,XPath还是XMLReader?哪一个会更好更容易?

XDocument(Linq-to-XML)将是最简单的。并且它可以做你想要的,但你应该更清楚所期望的结果。

  

XML可以大到150 KB。

完全没问题。当你达到150 MB时才开始考虑XmlReader。