我正在尝试验证xml结构,我想检查在邮政编码DataItem之后找到ns22:statement true标记。
<ns21:DataItem name="country" default="false" />
<ns21:DataItem name="postcode" default="false">
<ns22:statement disabled>true</ns22:statement>
</ns21:DataItem>
我试过这个
(?m)\b.*:DataItem name="postcode" (?s)\b.*>$\n.*\bstatement disabled>true\b
但是当将邮政编码更改为国家/地区(不应该返回任何内容)时,它会捕获所有标签country,postcode和statement true。
我还创建了这个https://regexr.com/3quso
关于如何只获得邮编+语句的任何建议都是真的吗?
答案 0 :(得分:0)
XPath 确实看起来确实是工作的最佳工具,因为您正在尝试验证XML结构和内容。因此,忽略名称空间,您可以在soapUI XPath Match断言中使用以下XPath:
<ns22:statement disabled>true</ns22:statement>
此外,在disabled
中,public class A { };
public class DtoA { };
var source = ServiceClass.Get<A>();
var dto = Mapper.Map<A, ADto>(source);
是否属于元素名称或属性的一部分?就目前而言,它使XML无效,所以我忽略了它。
有充分理由不使用正则表达式来解析XML / HTML,请参阅Why it's not possible to use regex to parse HTML/XML: a formal explanation in layman's terms