我有这个XML:
<envCFe versao="0.07" xmlns="http://www.fazenda.sp.gov.br/sat">
<tpAmb>1</tpAmb>
<idLote>4100</idLote>
<cUF>35</cUF>
<LoteCFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<dhEnvio>20171106081311</dhEnvio>
<nserieSAT>000081226</nserieSAT>
</envCFe>我还需要让<LoteCFe中的节点<CFe>在一个变量中检索与XMLTYPE一样多的节点
将参数传递给另一个过程,因此对于simplify:
SELECT
X.nodeCFe
FROM
XMLTABLE(
'/envCFe/LoteCFe'
PASSING XMLTYPE(
'<envCFe versao="0.07" xmlns="http://www.fazenda.sp.gov.br/sat">
<tpAmb>1</tpAmb>
<idLote>4100</idLote>
<cUF>35</cUF>
<LoteCFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<dhEnvio>20171106081311</dhEnvio>
<nserieSAT>000081226</nserieSAT>
</LoteCFe>
</envCFe>'
)
COLUMNS
nodeCFe XMLTYPE PATH 'CFe'
) X
;为了将结果显示为表格,我可能会犯什么错误?
nodeCFe
-------
<CFe><infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100"></infCFe</CFe>
<CFe><infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100"></infCFe</CFe>
<CFe><infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100"></infCFe</CFe>发布于 2017-11-22 08:01:38
您的根节点声明了一个名称空间,因此您需要在查询中处理该名称空间;您可以使用默认的XMLNamespaces子句进行处理。您还需要XPath转到您想要提取的节点:
SELECT
X.nodeCFe
FROM
XMLTABLE(
XMLNAMESPACES(default 'http://www.fazenda.sp.gov.br/sat'),
'/envCFe/LoteCFe/CFe'
PASSING XMLTYPE(
...使用您的数据:
SELECT
X.nodeCFe
FROM
XMLTABLE(
XMLNAMESPACES(default 'http://www.fazenda.sp.gov.br/sat'),
'/envCFe/LoteCFe/CFe'
PASSING XMLTYPE(
'<envCFe versao="0.07" xmlns="http://www.fazenda.sp.gov.br/sat">
<tpAmb>1</tpAmb>
<idLote>4100</idLote>
<cUF>35</cUF>
<LoteCFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<CFe>
<infCFe versao="0.07" versaoDadosEnt="0.07" versaoSB="020100">
</infCFe>
</CFe>
<dhEnvio>20171106081311</dhEnvio>
<nserieSAT>000081226</nserieSAT>
</LoteCFe>
</envCFe>'
)
COLUMNS
nodeCFe XMLTYPE PATH '.'
) X
;获取
NODECFE
--------------------------------------------------------------------------------
<CFe xmlns="http://www.fazenda.sp.gov.br/sat"><infCFe versao="0.07" versaoDadosE
nt="0.07" versaoSB="020100">
</infCFe></CFe>
<CFe xmlns="http://www.fazenda.sp.gov.br/sat"><infCFe versao="0.07" versaoDadosE
nt="0.07" versaoSB="020100">
</infCFe></CFe>
<CFe xmlns="http://www.fazenda.sp.gov.br/sat"><infCFe versao="0.07" versaoDadosE
nt="0.07" versaoSB="020100">
</infCFe></CFe>https://stackoverflow.com/questions/47424505
复制相似问题