Разбор XML-структуры для выполнения определенных операций - PullRequest
0 голосов
/ 31 октября 2019

Я должен рекурсивно проанализировать структуру xml и выполнить несколько операций, как и когда я сталкиваюсь с конкретным узлом. Это было бы хорошим шаблоном или подходом для этого сценария.

ex:

<Start>

<step1>
 // some data
</step1>

<step2>
// some data
</step2>
<step3/>
<step4/>
...

</Start>

Я хочу проанализировать весь этот xml и выполнить конкретные операции для конкретных шагов. Например, шаг 1 выполнитеКроме того, для шага 2 выполняйте подводные лодки и т. д.

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Именно так работает XSLT. Просто определите правила, связанные с различными элементами, например,

<xsl:template match="step1">
  <xsl:value-of select="@arg1 + @arg2"/>
</xsl:template>

Конечно, вам нужно предоставить больше деталей, чтобы сделать этот бетон.

0 голосов
/ 31 октября 2019

Я бы использовал xml linq, как показано ниже:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication139
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);

            XElement start = doc.Descendants("Start").FirstOrDefault();

            foreach (XElement element in start.Elements())
            {
                switch (element.Name.LocalName)
                {
                    case "step1" :
                        break;
                    case "step2":
                        break;
                    case "step3":
                        break;
                    case "step4":
                        break;

                    default:
                        break;
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...