Я хочу заменить перечисление алфавитов новыми перечислениями.Это xsd-файл, который также содержит другие данные XSD
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Vehicle">
<xs:complexType>
<xs:sequence>
<xs:element name="Ford" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Alphabets" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="a" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="b" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="c" type="Dollar" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SectionB" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="BX010_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX070_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX350N_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX350NNOTE_1" type="ExplanatoryText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Это мой код на c #, который читает файл и сохраняет его в ReturnReasonsXMLFromFile, а затем заменяет весь xsd новымXML.Я хочу просто заменить конкретный элемент алфавитов тем, что указан в xml.
private static void WriteFile(string filePath, string xml)
{
try
{
if (File.Exists(filePath))
{
string ReturnReasonsXMLFromFile = File.ReadAllText(filePath);
if (!String.Equals(xml, ReturnReasonsXMLFromFile))
{
if(ReturnReasonsXMLFromFile.Contains("itemReturnReasonType"))
{
//datatypexs = element.Attribute("type").Value;
}
//File.Delete(filePath);
//File.WriteAllText(filePath, xml);
}
}
else
File.WriteAllText(filePath, xml);
}
catch (Exception exception)
{
ShowException(exception);
}
}
Ожидаемый результат
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Vehicle">
<xs:complexType>
<xs:sequence>
<xs:element name="Ford" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Alphabets" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="y" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="z" type="Dollar" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SectionB" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="BX010_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX070_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX350N_1" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="BX350NNOTE_1" type="ExplanatoryText" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
XML:
<xs:sequence>
<xs:element name="Alphabets" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="x" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="y" type="Dollar" minOccurs="0" maxOccurs="1"/>
<xs:element name="z" type="Dollar" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>