我正在利用XElement操纵我的Xml档案:寻找目标 no子,然后增加儿童 no子。 但现在我有一个问题。 请允许我说一下我的xml档案。
<Report xmlns="MY_NAMESPACE"
<Width>100</Width>
<Height>100</Height>
<ReportItems>
<ReportItem>
...
</Report>
我还想加上一个新的<代码><ReportItem>至<ReportItems>
node using VB. NET。 http://msdn.microsoft.com/en-us/library/bb387082.aspx”rel=“nofollow” 如何:创建名称空间文件(LINQ to XML)(Visual Basic),其中规定,为了申报和使用名称空间,需要在档案开始时予以进口(与C#不同)。 因此,I do Imports <xmlns=“MY_NAMESPACE”>
。 现在,我需要1)找到“<代码>和”;“报告与”; node at first, 和2)添加我的新的术语。 为了迈出第一步,我尝试了。
Dim xmldoc = XDocument.Load(MY_XML_FILE_PATH)
Dim target = xmldoc.Root.Elements("{MY_NAMESPACE}" & "ReportItems").FirstOrDefault
And to do step 2), I did
Dim newNode As XElement = _
<ReportItem/>
target.Add(newNode)
现在存在问题:如果我没有具体指明“{MY_NAMESPACE}”
,那么我根本就找不到
<Report xmlns="MY_NAMESPACE"
<Width>100</Width>
<Height>100</Height>
<ReportItems>
<ReportItem>
<ReportItem xmlns="MY_NAMESPACE">
...
</Report>
第二张<代码><ReportItem> 是新添加的,但令人痛心的是,这并不是一个有效的文件(M parser在进一步处理xml文档时正在抱怨)。 因此,我怎么能够把这个新项目看上去,完全像现在这样,没有任何名称空间? 这使我.。 我用整天来表示,我需要加上曲折的方括号,以便找到目标节点(它不像上述链接所说的那样做工作,即它自动增加和搜查违约国),但现在它增加了一些不必要的东西? go!