2013-09-17 3 views
0

Я создаю синтаксический анализатор XML, который создаст много «уродливого» кода, и мне бы очень хотелось получить виджет синтаксиса XPath.Использование синтаксиса XPath и XML

Вот пример моего XML

<?xml version="1.0" encoding="iso-8859-1"?> 

    <!-- This is the application template. Replace 'TemplateController' to 
     move the application to another application space. --> 
    <Application Name="TTS_AHC_OSC_21463" Type="Application"> 
    <fs>10</fs> 

    <Subcomponents> 
     <Subcomponent Name="CDPEngine" 
         Model="CDPEngine" 
         src="Components\CDP\CDPEngine.xml"> 
     </Subcomponent> 
     <Subcomponent Name="Messenger" 
         Model="Messenger" 
         src="Components\CDP\Messenger.xml"> 
     </Subcomponent> 
     <Subcomponent Name="WebServer" 
         Model="WebServer" 
         src="Components\CDP\WebServer.xml"> 
     </Subcomponent> 
     <Subcomponent Name="MessengerIOServer" 
         Model="MessengerIOServer" 
         src="Components\CDP\MessengerIOServer.xml"> 
     </Subcomponent> 

Я бы в этом случае хочу запрос, чтобы получить все атрибуты и имена типа и сортировать их в уже определенной структуры. Так как это можно сделать. Может кто-нибудь, пожалуйста, помогите мне в этом, у меня действительно возникают проблемы с вступлением в синтаксис XPath и я буду очень благодарен.

Пример кода

nav = docNav.CreateNavigator(); 
XPathNodeIterator NodeIter; 
NodeIter = nav.Select("/Subcomponents?????"); 
+0

Я редактировал свой вопрос, чтобы показать правильный XML. Прежде чем отправлять сообщения, убедитесь, что весь текст находится в предварительном просмотре, или вопрос будет выглядеть странно. Вы можете посмотреть [здесь] (http://meta.stackexchange.com/questions/3122/formatting-sandbox) для получения дополнительной информации об форматировании – Default

ответ

-1

, если вы хотите, чтобы получить все подкомпоненты, и можно попробовать с

XPATH = "//Subcomponents/Subcomponent" 

получить первый суб compoenent,

синтаксис
XPATH = "//Subcomponents/Subcomponent[1]" 

Xpath может быть найдено в

http://www.w3schools.com/xpath/xpath_examples.asp

Вы можете динамически проверить XPATH, используя следующий интерактивный инструмент,

http://www.xpathtester.com/

+0

Есть некоторые люди, которые понижают любой ответ, который относится к w3schools. Я понятия не имею, почему. Он имеет плохую репутацию, потому что он упрощает вещи, иногда чрезмерно, но для таких людей, как этот плакат, которые явно не готовы читать настоящие спецификации или покупать учебник, это полезный ресурс. –

+0

Спасибо, что это работает, мне не хватает одного/в моих запросах. Поэтому я не мог заставить его работать –

+0

кто-то сделал downvote для этого ответа, если он действительно работает, сделайте upvote, чтобы он полезен –

Смежные вопросы