如何读取XSD文档中的节点

时间:2016-12-02 11:20:03

标签: c# xml linq xsd

  

我在下面的xsd文件中。我试图附加几个标签。但是,遍历xsd模式可能是可能的解决方案之一。在这里,我只想添加几个节点,如。

  <xs:element name="Prefix" type="xs:string"/> TO
  <xs:element name="Prefix" type="xs:string"  minOccurs="0" />
  <xs:element name="EventReasonCode" type="xs:string"/> TO
  <xs:element name="EventReasonCode" type="xs:string"  minOccurs="0" />
  

完整XSD

<?xml version="1.0"?>
   <xs:schema xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"  xmlns:ns1="http://tempuri.org/MergePatient.xsd" xmlns:ns2="http://tempuri.org/MergePatient/MergePatient.xsd" xmlns="http://tempuri.org/MergePatient.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://tempuri.org/MergePatient/MergePatient/MergePatient.xsd" targetNamespace="http://tempuri.org/MergePatient/MergePatient/MergePatient.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" id="MergePatient">
   <xs:element name="MergePatient">
<xs:annotation>
  <xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
  <xs:sequence>
    <xs:element name="PatientName" minOccurs="0">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="MiddleName" type="xs:string" minOccurs="0"/>
          <xs:element name="Prefix" type="xs:string"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    <xs:element name="EventReasonCode" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

  

到目前为止尝试

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml("file.XSD");
            XmlElement elem = xmlDoc.DocumentElement;
            XmlNodeList xNodes1 = xmlDoc.SelectNodes("//xs:element[xs:complexType/xs:sequence]");

无法使用上述路径读取标记。

0 个答案:

没有答案