我正在尝试编写一个xpath来获取OrderLines
和Products
ActivationStatus
完成和level
" 2&# 34 ;.
我尝试使用这个xpath://*[[text()="2"] and [text()[contains(.,"ReadyForActivation")]]]
但它不起作用
这是xml文件
<InputOrder>
<Order>
<OrderType>Change</OrderType>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Email>
<ProductLine>Email</ProductLine>
<ProductName>Email Service</ProductName>
<ProductLevel>2</ProductLevel>
<ProductType>EMAIL</ProductType>
<ProductOperation>NoChange</ProductOperation>
</Email>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Email>
<ProductLine>Email</ProductLine>
<ProductName>Email</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>EMAIL</ProductType>
<ProductOperation>NoChange</ProductOperation>
</Email>
</Product>
<Asset>
<ActivationStatus>ReadyForActivation</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Access>
<ProductLine>Access</ProductLine>
<ProductName>Internet Access Service</ProductName>
<ProductLevel>2</ProductLevel>
<ProductType>INTERNETACCESS</ProductType>
<ProductOperation>NoChange</ProductOperation>
</Access>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Itv>
<ProductLine>TV</ProductLine>
<ProductName>Ethernet switch</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>LITVADDITIONAL</ProductType>
<ProductOperation>NoChange</ProductOperation>
</Itv>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Internet>
<ProductLine>Internet</ProductLine>
<ProductName>IC31</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>INTERNET</ProductType>
<ProductOperation>Add</ProductOperation>
</Internet>
</Product>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Internet>
<ProductLine>Internet</ProductLine>
<ProductName>IC01</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>INTERNET</ProductType>
<ProductOperation>Delete</ProductOperation>
</Internet>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Itv>
<ProductLine>TV</ProductLine>
<ProductName>Sport1 pakket</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>TVCHANNEL</ProductType>
<ProductOperation>Add</ProductOperation>
</Itv>
</Product>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Itv>
<ProductLine>TV</ProductLine>
<ProductName>Digitale tv-ontvanger met harddiskrecorder</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>TV</ProductType>
<ProductOperation>Delete</ProductOperation>
</Itv>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Itv>
<ProductLine>TV</ProductLine>
<ProductName>Digitale tv-ontvanger</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>TV</ProductType>
<ProductOperation>Delete</ProductOperation>
</Itv>
</Product>
<Asset>
<ActivationStatus>Complete</ActivationStatus>
<AssetStatus>Active</AssetStatus>
</Asset>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Engineer>
<ProductLine>Engineer</ProductLine>
<ProductName>Omruilen NT</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>ACCESSENGINEER</ProductType>
<ProductOperation>Add</ProductOperation>
</Engineer>
</Product>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<OrderLine>
<ServiceId>100001</ServiceId>
<Product>
<Engineer>
<ProductLine>Engineer</ProductLine>
<ProductName>Omruilen modem</ProductName>
<ProductLevel>3</ProductLevel>
<ProductType>ACCESSENGINEER</ProductType>
<ProductOperation>Add</ProductOperation>
</Engineer>
</Product>
<OrderLineStatus>Open</OrderLineStatus>
</OrderLine>
<HardwareAlreadyDelivered>false</HardwareAlreadyDelivered>
<Leadtime>12</Leadtime>
<DirectTerminationMailandUser>false</DirectTerminationMailandUser>
<SuppressCommunication>false</SuppressCommunication>
</Order>
</InputOrder>
&#13;
答案 0 :(得分:1)
xpath 表达式:
//OrderLine[.//ProductLevel=2 and .//ActivationStatus='Complete']
答案 1 :(得分:0)
如果您想要满足这两个条件的实际OrderLine元素,可以使用:
//OrderLine[Asset/ActivationStatus = 'Complete' and Product/Access/ProductLevel = '2']
如果您希望产品元素符合条件,请尝试以下方法:
//OrderLine[Asset/ActivationStatus = 'Complete' and Product/Access/ProductLevel = '2']/Product