XPath序列之四

2016-01-29 12:35 7 1 收藏

XPath序列之四,XPath序列之四

【 tulaoshi.com - ASP.NET 】

1.3.4 基本表达式除了定位路径表达式外,还有许多其它的基本表达式结构包括布尔、等式、关系和数值表达式。这些表达式可以用于结果对象不需要时节点集的任何情况中。它们通常用于XPath谓词和各种XSLT结构中。XPath支持标准的and/or布尔表达式,表达式的每个操作数强制转换为布尔值后求值。等式表达式测试两个对象是否相等,其操作符有 = 和 != 。关系表达式是的两个对象之间的关系比较成为可能,其操作符为<=、<、>=和>。关系表达式的求值是通过将两个操作数转换为数值后进行比较求得的。以下这段话定义了等式表达式和关系表达式中结果对象的比较方法:如果被比较的两个对象是节点集合,那么,其比较结果为真当且仅当在两个节点集合中各有一个节点,并且,比较这两个节点的字串值的结果为真。如果被比较的一个对象是节点集合而另一个是数值,其比较结果为真当且仅当在节点集合中有一节点,并且,用函数number将该节点的字串值转换为数值与被比较的数值相同。如果被比较的一个对象是节点集合而另一个是字符串,其比较结果为真当且仅当在节点集合中有一节点,并且该节点的字串值与另一个的字符串相等。如果被比较的一个对象是节点集合而另一个是布尔类型,其比较结果为真当且仅当在节点集合中有一节点,并且,用函数 boolean 将该节点转换成的布尔类型与被比较的布尔类型相等。当两个被比较的对象都不是节点集合,而且,操作符为 = 或 !=,那么,比较这类对象时,按以下方式将它们转换成常见类型然后再比较。如果被比较的对象中至少有一个是布尔类型,那么,每一个被比较的对象都要转换成布尔类型,就像调用了boolean 函数一样。不然的话,如果至少有一个是数字,那么,每一个被比较的对象都要转换成数字,就像调用了number 函数一样。再不然的话,两个对象都转换成字符串,就像调用了string 函数一样。 = 的比较为真,当且仅当在对象是相等的;!= 的比较为真,当且仅当在对象是不相等的。数字相等的比较依照IEEE 754标准。两个布尔类型相等,当且仅当它们都为真或都为假。两个字符串相等,当且仅当它们都由同样序列的 UCS 字符组成。当两个被比较的对象都不是节点集合,而且,操作符为 <=,<,>= 或 >,那么,要比较的对象都转换成数字并依照IEEE 754进行比较。< 的比较为真,当且仅当第一个数小于第二个数。>的比较为真,当且仅当第一个数大于第二个数。>=的比较为真,当且仅当第一个数大于或等于第二个数。数值表达式是的实现基本数学操作成为可能,可以使用的操作符有:+、-、div、mod、*、-(一元操作符)。其计算是在每个操作数转换为数值后进行求值。 -----------------------------to be continued-----------------------------------

来源:http://www.tulaoshi.com/n/20160129/1486677.html

延伸阅读
假设有一下一个实体类。 using System; using System.Xml; using System.Xml.Serialization; namespace TestPerson { public class Person { public string FullName; [NonSerialized()] public string Password; public Male sex; } public enum Male { M, F } } 先决定用xml 序列化把对象的状态dump到一个xml文件。 代...
标签: Web开发
4.XPath的语法 我们在前面已经提到过,XPath是用来帮助XSLT在XML源文档中查找定位信息的语言。在实际使用过程中,XPath和XSLT总是混在一起使用,在上面一章的语法例子中我们已经有使用到XPath的语法,只是没有明确点出。但W3C将它们分成两个标准,所以我们也将它们拆成两章来讲解。 4.XPath的语法 4.1 当前位置 4.2 寻址操作 4.3 运算...
当一个父类实现Serializable接口后,他的子类都将自动的实现序列化。 以下验证了这一点: package Serial; import Java.io.Serializable; public class SuperC implements Serializable {//父类实现了序列化 int supervalue; public SuperC(int supervalue) { this.supervalue = supervalue; ...
标签: Java JAVA基础
当一个父类实现Serializable接口后,他的子类都将自动的实现序列化。 以下验证了这一点: package Serial; import java.io.Serializable; public class SuperC implements Serializable {//父类实现了序列化 int supervalue; public SuperC(int supervalue) { this.supervalue = supervalu...
标签: Web开发
XPath(XML Path language)是一种处理XML文档段的语言。XSLT(Extensible Stylesheet Language Transformations,可扩展样式表语言转换)使用XPath描述表达式和地址路径控制节点选取。XSLT可以将XML转换为各种格式,如HTML或其他格式。     下面用一个邮件合并程序来简要说明XPath的串函数。下面的XML文件中包含数据,XSLT...

经验教程

298

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部