我想访问一个预处理指令“mso-infoPathSolution”,它有一个属性href并为其分配一个url说http://www.msn.com
<?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 :(得分: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
答案 1 :(得分:0)
在C#中:
1.访问XDocument的XProcessingInstruction()
2.查看以下示例如何访问和更改处理字符串:
MSDNlink
(阅读完整文章或滚动到&#34;示例&#34;)