删除整个父节点

Removing an entire Parent node

我有一个 XML 文件,其中包含多个名称和有关它们的信息:

<Male>
<LastName LName="Smith">
  <FirstName FName="Robert">
   <DateOfBirth DOB="9/15/1980">
      <MiddleName>Thomas</MiddleName>
      <Alias>bob</Alias>
      <Address>1234 S. Street Ave</Address>
   </DateOfBirth>
   </FirstName>
</LastName>
<LastName LName="Smith">
      <FirstName FName="Ted">
       <DateOfBirth DOB="7/21/1977">
          <MiddleName>James</MiddleName>
          <Alias>T</Alias>
          <Address>1234 N. Avanue St</Address>
       </DateOfBirth>
       </FirstName>
    </LastName>

例如,我想移除 Ted Smith 但保留 Robert。

我使用的代码如下:

ind = ListBox1.Value 'Gets Lastname
ind2 = Me.ListBox1.Column(1, Me.ListBox1.ListIndex) 'Gets Firstname
ind3 = Me.ListBox1.Column(2, Me.ListBox1.ListIndex) 'Gets DOB

Set Remo = objDom.SelectNodes("//LastName[@LName='" & ind & "']/FirstName[@FName='" & ind2 & "']/DateOfBirth[@DOB='" & ind3 & "']")
For Each RemoG In Remo
RemoG.ParentNode.RemoveChild RemoG
Next

这将删除 DateOfBirth 及其下的所有内容,但会保留 FirstName 和 LastName 信息。我怎样才能在不移除另一个 Smith 的情况下移除它们?

您需要导航 "up" 到 <Male> 并从那里移除

RemoG.ParentNode.ParentNode.ParentNode.RemoveChild RemoG.ParentNode.ParentNode