[英]How to parse JSF style XHTML
我們有一個使用JSF的Java項目。 在我們的視圖層中,我們並未在所有XHTML文件中使用id
。 我想做的是解析XHTML文件並檢查諸如
<h:inputText id="username" value="#{identity.username}"/>
常量部分是<h:input...
>選擇正確的標簽后,其余部分可以是<h:inputSecret
<h:inputWHATELSE
。 我想檢查該標簽是否有id
屬性。 如果沒有,我想添加一個id
。
這是我們的XHTML文件之一。
我試圖用Python做這項工作。 我嘗試了ElementTree,piksemel和BeautifulSoup。 任何有關此問題的幫助將不勝感激。
使用Beautifulsoup,您可以執行以下操作:
from BeautifulSoup import BeautifulSoup
import re
soup = BeautifulSoup(<your_xml_here>)
nodes = soup.findAll(name=re.compile('^h:input'))
for node in nodes:
if 'id' not in dict(node.attrs):
node['id'] = <whatever you need>
可以看出,要獲取所有與名稱模式匹配的節點,您需要的是一個正則表達式。 之后,您可以檢查節點屬性以確保是否定義了id
並在需要時分配新值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.