请教各位大大....小弟使用WebClient.DownloadString Method 将一个xml档转成文字档
code如下:WebClient client = new WebClient();
string reply = client.DownloadString("http://xxxxxx");将得到的reply 写成123.txt档原本的xml档如下:
<?xml version="1.0" encoding="big5" ?> 
- <Book>
  <execute_result>success</execute_result> 
- <data_item>
  <Publishers>A-list</Publishers> 
  <name>AAA</name> 
  <MarketJMark>N</MarketJMark> 
- <cond_list>
- <cond>
  <name>con1</name> 
  <value>2</value> 
  </cond>
- <cond>
  <name>con2</name> 
  <value>1</value> 
  </cond>
- <cond>
  <name>con3</name> 
  <value>4</value> 
  </cond>
  </cond_list>
- <commodity_list>
- <commodity_data>
  <commodity>A-e</commodity> 
  <name>A-c</name> 
  <kind>F</kind> 
  <point_num>1</point_num> 
  <JMark>N</JMark> 
- <month_list>
  <month>201112</month> 
  <month>201201</month> 
  <month>201202</month> 
  </month_list>
  </commodity_data>
- <commodity_data>
  <commodity>AA-e</commodity> 
  <name>AA-c</name> 
  <kind>F</kind> 
  <point_num>3</point_num> 
  <JMark>N</JMark> 
- <month_list>
  <month>201112</month> 
  <month>201203</month> 
  <month>201205</month> 
  <month>201207</month> 
  <month>201209</month> 
  <month>201212</month> 
  </month_list>
  </commodity_data>
  </commodity_list>
  </data_item>
- <data_item>
  <Publishers>B-list</Publishers> 
  <name>BBB</name> 
  <MarketJMark>N</MarketJMark> 
- <cond_list>
- <cond>
  <name>con1</name> 
  <value>2</value> 
  </cond>
- <cond>
  <name>con2</name> 
  <value>1</value> 
  </cond>
- <cond>
  <name>con3</name> 
  <value>4</value> 
  </cond>
- <cond>
  <name>con4</name> 
  <value>8</value> 
  </cond>
  </cond_list>
- <commodity_list>
- <commodity_data>
  <commodity>B-e</commodity> 
  <name>B-c</name> 
  <kind>F</kind> 
  <point_num>4</point_num> 
  <JMark>N</JMark> 
- <month_list>
  <month>201112</month> 
  <month>201203</month> 
  <month>201206</month> 
  <month>201209</month> 
  </month_list>
  </commodity_data>
- <commodity_data>
  <commodity>BB-e</commodity> 
  <name>BB-c</name> 
  <kind>F</kind> 
  <point_num>2</point_num> 
  <JMark>N</JMark> 
- <month_list>
  <month>201112</month> 
  <month>201201</month> 
  <month>201203</month> 
  <month>201205</month> 
  <month>201207</month> 
  <month>201208</month> 
  </month_list>
  </commodity_data>
  </commodity_list>
  </data_item>
- <data_item>
  <Publishers>C-list</Publishers> 
  <name>CCC</name> 
  <MarketJMark>N</MarketJMark> 
- <cond_list>
- <cond>
  <name>con1</name> 
  <value>2</value> 
  </cond>
- <cond>
  <name>con2</name> 
  <value>1</value> 
  </cond>
- <cond>
  <name>con3</name> 
  <value>4</value> 
  </cond>
  </cond_list>
- <commodity_list>
- <commodity_data>
  <commodity>C-e</commodity> 
  <name>C-c</name> 
  <kind>F</kind> 
  <point_num>1</point_num> 
  <JMark>N</JMark> 
- <month_list>
  <month>201112</month> 
  <month>201203</month> 
  <month>201206</month> 
  <month>201209</month> 
  </month_list>
  </commodity_data>
  </commodity_list>
  </data_item>
  </Book>转成123.txt档后变这样: <?xml version="1.0" encoding="big5" ?><Book><execute_result>success</execute_result><data_item><Publishers>A-list</Publishers><name>AAA</name><MarketJMark>N</MarketJMark><cond_list><cond><name>con1</name><value>2</value></cond><cond><name>con2</name><value>1</value></cond><cond><name>con3</name><value>4</value></cond></cond_list><commodity_list><commodity_data><commodity>A-e</commodity><name>A-c</name><kind>F</kind><point_num>1</point_num><JMark>N</JMark><month_list><month>201112</month><month>201201</month><month>201202</month></month_list></commodity_data><commodity_data><commodity>AA-e</commodity><name>AA-c</name><kind>F</kind><point_num>3</point_num><JMark>N</JMark><month_list><month>201112</month><month>201203</month><month>201205</month><month>201207</month><month>201209</month><month>201212</month></month_list></commodity_data></commodity_list></data_item><data_item><Publishers>B-list</Publishers><name>BBB</name><MarketJMark>N</MarketJMark><cond_list><cond><name>con1</name><value>2</value></cond><cond><name>con2</name><value>1</value></cond><cond><name>con3</name><value>4</value></cond><cond><name>con4</name><value>8</value></cond></cond_list><commodity_list><commodity_data><commodity>B-e</commodity><name>B-c</name><kind>F</kind><point_num>4</point_num><JMark>N</JMark><month_list><month>201112</month><month>201203</month><month>201206</month<month>201209</month></month_list></commodity_data><commodity_data><commodity>BB-e</commodity><name>BB-c</name><kind>F</kind><point_num>2</point_num><JMark>N</JMark><month_list><month>201112</month><month>201201</month><month>201203</month><month>201205</month><month>201207</month><month>201208</month></month_list></commodity_data></commodity_list></data_item><data_item><Publishers>C-list</Publishers><name>CCC</name><MarketJMark>N</MarketJMark><cond_list><cond><name>con1</name><value>2</value></cond><cond><name>con2</name><value>1</value></cond><cond><name>con3</name><value>4</value></cond></cond_list><commodity_list><commodity_data><commodity>C-e</commodity><name>C-c</name><kind>F</kind><point_num>1</point_num><JMark>N</JMark><month_list><month>201112</month><month>201203</month><month>201206</month><month>201209</month></month_list> </commodity_data></commodity_list></data_item> </Book> 小弟想要在123.txt档中读出以下的结构:A-list    B-list    C-list 
-------   -------   -------
 A-e       B-e        C-e  
201112    201112     201112
201201    201203     201203
201202    201206     201206
201209    201209           
                           
 AA-e      BB-e            
201112    201112           
201203    201201           
201205    201203           
201207    201205           
201209    201207           
201212                     
201208                     取得每个list中的每个商品及每个商品的每个月份
请教各位大大,该如何取得呢....

解决方案 »

  1.   

    WebClient.DownloadString Method 
    那就不要用这个方法
    XmlDocument对象里提供了很多属性,可以方便的处理XML文档
    写个简单的循环,就可以控制XML文档中各结点的值,写入,读取
    LZ的方法我没用过
      

  2.   

    小弟原本的写去也是直接读取xml档,取出要的资讯,但...对方的xml格式不是正规的xml档,导致小弟的程式会出现error,对方的xml档又不能改变...只好改变小弟程式了....先把xml中的资料转成文字档,在针对这些文档作处理....请大大赐教...
      

  3.   

    如果XML文档的结构不是标准的子父结点的话,用XmlDocument貌似也能处理的,可能找结点的时候有点麻烦 
    LZ要找出XML文档的结点到底是什么规律了,如果一点规律都没有,那把字符串转到内存里找string,,呵呵,这样有点麻烦了.
    我看了下XML数据,不是标准的子父结点,结点下面和上面的结点没有任何从属关系,
    XmlDocument,LZ研究下这个类,应该可以处理的
      

  4.   

    xml文档反序列化为对象本来就是为了能够更容易的操作里面的内容。
    你却把xml转成txt文件来处理txt文件里面的字符串
    字符串操作是完全不能满足你的需求的,
    所以你还是只能把请求的xml文件反序列化为xml对象来处理。
      

  5.   

    叹.............无耐的是.....xml档真的不能请求变动..................
    那位大大可以好心帮帮忙呢............................
      

  6.   

    这个,XML的结构只有你自己清楚了,没人能帮你写代码啊
    只能一个结点一个结点找了
    谁让你的XML档结构不规范,没有办法
    呵呵