本人想知道C#的WINFORM如何读如下格式的XML
谁能给个例子或方法?谢谢
<?xml version="1.0" encoding="UTF-8"?>
<users>
  <xs:schema id="ResultSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
    <xs:element name="ResultSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="user">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="userName" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
                <xs:element name="userPass" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
              </xs:sequence>
              <xs:attribute name="id" type="xs:string" />
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <user id="1">
    <userName>outrace</userName>
    <userPass>mypass</userPass>
  </user>
  <user id="2">
    <userName>trace</userName>
    <userPass>mypass2</userPass>
  </user>
</users>

解决方案 »

  1.   

    这是XSD吧。用dataset.readxml这个方法试试看。
      

  2.   

    string fileName = "Test.xml";
    XmlTextReader reader = new XmlTextReader(fileName);
    string str = string.Empty;
    while (reader.Read())
    {
        if (reader.NodeType == XmlNodeType.Element)
        {
            if (reader.LocalName.Equals("userName"))
            {
                str += reader.ReadString() + " ";
            }
        }
    }
    MessageBox.Show(str);
      

  3.   

    我想读出来第一条和第二条的userName和userPass的值。
    谢谢大家的方法我去试下,这个不是Ajax,我做的是WINFORM 
    如果解决了,我马上回来结贴。
    再次对大家表示感谢。