2013-08-03 3 views
1

я хочу получить доступ к инструкции препроцессора «МСО-infoPathSolution» и который имеет атрибут HREF и назначить URL к нему сказать http://www.msn.comXDocument, чтобы получить атрибут инструкции препроцессора

<?xml version="1.0" encoding="utf-8"?> 
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:XMLtool:-myXSD-2013-06-22T17-00-48" solutionVersion="1.0.0.457" productVersion="14.0.0.0" PIVersion="1.0.0.0" href="" ?> 

мне нужно использовать Класс XDocument. Как мне это достичь?

ответ

0

Использование VB.NET я был в состоянии определить, инструкции обработки кодируется как XProcessingInstruction и она просто разбивается на

  • Target (mso-infoPathSolution в вашем примере), и
  • Data (остальные name="value" пар, непроверенные),
  • как String s.

Таким образом, вы должны проверить существующую href="...", отрегулируйте его, если присутствует и добавить его иначе:

Dim xpi = xDoc.Nodes.OfType(Of XProcessingInstruction) _ 
      .Where(Function(p) p.Target = "mso-infoPathSolution").First 
Dim re = New Regex("href=""([^""]*)""") 
If re.IsMatch(xpi.Data) Then 
    xpi.Data = re.Replace(xpi.Data, "href=""" & Url & """") 
Else 
    xpi.Data &= " href=""" & Url & """" 
End If 
0

В C#:
1. Доступ к XProcessingInstruction (s) из XDocument
2. Посмотрите следующий пример, как получить доступ и изменить строку обработки:
MSDNlink

(Прочитать всю статью или croll to "Examples")

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