使用Xpath查找包含空子节点的节点和
我有以下xml:使用Xpath查找包含空子节点的节点和,xpath,Xpath,我有以下xml: <RiskDetails> <RatingSequence direction="O" value="2"></RatingSequence> <VehicleDetails></VehicleDetails> <RiskFeatures></RiskFeatures> <Drivers> <DriverDetails>&l
<RiskDetails>
<RatingSequence direction="O" value="2"></RatingSequence>
<VehicleDetails></VehicleDetails>
<RiskFeatures></RiskFeatures>
<Drivers>
<DriverDetails></DriverDetails>
<DriverDetails></DriverDetails>
<DriverDetails></DriverDetails>
</Drivers>
<CoverDetails></CoverDetails>
<LoadDiscountDetails>
<LoadDiscount></LoadDiscount>
<LoadDiscount></LoadDiscount>
</LoadDiscountDetails>
</RiskDetails>
我需要动态查找没有值或属性的每个子节点。我试图找到返回以下节点的Xpath,但没有成功:
<VehicleDetails></VehicleDetails>
<RiskFeatures></RiskFeatures>
<Drivers>
<DriverDetails></DriverDetails>
<DriverDetails></DriverDetails>
<DriverDetails></DriverDetails>
</Drivers>
<CoverDetails></CoverDetails>
<LoadDiscountDetails>
<LoadDiscount></LoadDiscount>
<LoadDiscount></LoadDiscount>
</LoadDiscountDetails>
我将删除这些节点,并仅保留具有以下值的节点及其父节点:
<RiskDetails>
<RatingSequence direction="O" value="2"></RatingSequence>
</RiskDetails>
我可以按层次进行操作,但是我尝试只使用一个Xpath。您可以尝试使用下面的
Xpath
来获得所需的输出:
//RiskDetails/*[not(@* or string())]
感谢Andershoon,它确实适用于这个示例,但是我需要一些通用的东西,我在这个节点前后有更多的节点具有不同的名称,我无法硬编码//详细信息。不管怎样,我试着从你的反应开始。