Мне нужно извлечь данные из XML-файла для моего проекта на основе C#. файл XML, как это:Извлечь данные из xml-файла в C#
<?xml version="1.0" encoding="utf-8" ?>
<Chemicals>
<Titrates>
<Titrate Name="Hydrochloric Acid" Basisity="1" Molarity="10" Normality="10" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
<Experiment Name="Redox"></Experiment>
</Experiments>
</Titrate>
<Titrate Name="Sulphuric Acid" Basisity="2" Molarity="20" Normality="50" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Titrate>
<Titrate Name="Nitric Acid" Basisity="3" Molarity="50" Normality="40" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Titrate>
</Titrates>
<Titrants>
<Titrant Name="Sodium Hydroxide" Acidity="1" Molarity="10" Normality="20" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Titrant>
<Titrant Name="Calcium Hydroxide" Acidity="1" Molarity="20" Normality="40" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Titrant>
</Titrants>
<Indicators>
<Indicator Name="Phenolphethalin" Color="Pink" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Indicator>
<Indicator Name="Methyl Orange" Color="Orange" >
<Experiments>
<Experiment Name="AcidBase"></Experiment>
</Experiments>
</Indicator>
</Indicators>
</Chemicals>
Как вы можете видеть, химические вещества подразделяются под титрантами, титруют и показатели, а затем каждый химикат может быть использован в нескольких экспериментах. Файл является просто образцом, поэтому, пожалуйста, игнорируйте аспект химии: P. Итак, для конкретного эксперимента мне нужно извлечь соответствующие данные обо всех химических веществах, которые будут использоваться в нем.
Пример:
Для AcidBase титрования мне нужно имя, молярность, Basisity и т.д. (под титрует) конкретные титруемый. То же самое и для титрантов и индикаторов, которые имеют AcidBase в своей части эксперимента.
Что вы хотите сказать? Что у вас уже есть? –
У вас есть XSD, который описывает данные в файле? Если нет, вам следует, вероятно, изучить использование [XDocument] (https://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument (v = vs.110) .aspx) или десериализацию объектов определите себя. – Chrono
Знаете ли вы LINQ to XML? –