这是一些xml:
<books>
<book>
<author>Tom</author>
<genres>
<genre>Science</genre>
<genre>Romance</genre>
</genres>
</book>
<book>
<author>Mike</author>
<genres>
<genre>Politics</genre>
<genre>Romance</genre>
</genres>
</book>
</books>
如何定义一个xpath,以便拉出所有浪漫书籍?或者也许所有浪漫与政治书籍?
答案 0 :(得分:9)
所有浪漫类型的书籍:
//book[genres/genre = 'Romance']
浪漫的所有书籍和政治类型:
//book[genres/genre = 'Romance' and genres/genre = 'Politics']
所有浪漫的书籍政治类型(与上面的and
相同):
//book[genres/genre = 'Romance'][genres/genre = 'Politics']
浪漫的所有书籍或政治类型:
//book[genres/genre = 'Romance' or genres/genre = 'Politics']
浪漫的所有书籍或政治类型(仅限XPath 2.0):
//book[genres/genre = ('Romance', 'Politics')]
备注:强>
//book
在根目录下找到所有book
个元素
元件; /books/book
找到book
个根的所有books
个孩子
元件。对于给定的XML,它们选择相同的元素。/author
附加到上述任何XPath中以选择
指定标准的书籍的author
个元素。 首先,确定基本的XPath有效://book
应返回两个元素。
如果没有:
然后,从那里逐步添加XPath步骤:
//book[genres]
应选择book
元素与任何genres
儿童元素。 //book[genres/genre]
应选择book
个元素
genres
子元素,仅当它具有genre
子元素时
元件。
//book[genres/genre = 'Romance']
应该选择所有图书
浪漫类型,根据要求。请注意,必须引用'Romance'
;
否则,表达式将针对字符串值进行测试
Romance
的{{1}}子元素,肯定会失败。
答案 1 :(得分:7)
您可以分别使用SELECT
TVL_CD_LIST
FROM TVL_DETAIL
WHERE TVL_CD_LIST IN (SELECT regexp_substr(TVL_CD_LIST,'[^_]+', 1, level) FROM DUAL
CONNECT BY regexp_substr(TVL_CD_LIST,'[^_]+', 1, level) IS NOT NULL)
和For Each s In ActivePresentation.Slides(i)
If s.Type = msoEmbeddedOLEObject Then
s.Select 'select the object
s.OLEFormat.Activate 'Activate it (like 2x click))
ActiveWindow.Selection.Unselect 'To let it close
ActiveWindow.View.GotoSlide s.Slideindex 'make current slide active
End If
Next s