2017-03-21 14 views
2

xpath를 사용하여 <form> 안에 <sheet> 태그를 추가해야합니다. 아래 코드를 시도했습니다 :xpath odoo를 사용하여 양식 태그 안에 시트 태그 추가 8

<xpath expr="//form[@string='Bank account']" position="inside"> 
    <sheet></sheet> 
</xpath> 

시트가 추가되었지만 양식 태그 뒤에 추가되었습니다.

enter image description here

내가 그것을 어떻게 할 수 있습니까?

+0

문자열이 xpath에 유효하지 않다고 생각합니다. name.expr = "// form [@ name = 'name of your form']" –

+0

해당 양식 태그의 이름이 없습니다. – KbiR

+0

그런 다음 xpath에서 양식의 특정 필드 이름을 지정하고 그 전후에 위치를 제공해야합니다. –

답변

0

시도하십시오

<xpath expr="//form" position="inside"> 
    <sheet></sheet> 
</xpath> 

또는

<xpath expr="//form/group[1]" position="before"> 
    <sheet></sheet> 
</xpath> 

당신이 양식을 내부에 그룹 태그를 준 경우

+0

감사합니다. 버마어.하지만 작동하지 않습니다. – KbiR

+0

그런 다음 실제 코드를 입력하십시오. 질문에있는 코드에 따라 답변했습니다. –

0

당신이 position="inside"을 사용하여 무슨 일하는 삽입하는 시트가로 추가되는 것입니다 양식의 마지막 항목 필요하지 않은 것은 양식 //form[@string='Bank account']에 시트가 들어 있고 그 시트에 양식의 모든 하위가 들어 있어야합니다.

볼 경우 당신을 위해 작업 아래 XPath의 :

<xpath expr="//form[@string='Bank account']" position="inside"> 
    <sheet> 
    <xpath expr="//form[@string='Bank account']/[not(name()='sheet')]"/> 
    <xpath expr="//form[@string='Bank account']/[not(name()='sheet')]" position="replace"/> 
    </sheet> 
</xpath> 

내가 여기서 할 것은 :

1)는 모든 항목을 선택 형태

2) 내부의 시트를 추가 양식 (시트에 방금 추가 한 후 시트에 넣으십시오)

3) 시트와 바깥 쪽 모두에 물품이 없게하기 위해 외부를 제거합니다.

+0

이/(not (name() = 'sheet')'를 설명해 주시겠습니까? 시트가 시트 안쪽으로 들어오지 않습니다. – KbiR