Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在XML和XSLT中解析来自单独页面的地址信息_Xml_Parsing_Xslt_Xml Parsing - Fatal编程技术网

在XML和XSLT中解析来自单独页面的地址信息

在XML和XSLT中解析来自单独页面的地址信息,xml,parsing,xslt,xml-parsing,Xml,Parsing,Xslt,Xml Parsing,我正在从事一个项目,该项目需要使用XSLT将XML文件中的信息解析为另一种XML格式,然后存储到数据库中。然而,我遇到了一个问题,即有一个地址被分为两页,因此一些信息位于第一页的底部,而剩余部分位于第二页的顶部,但是在地址信息之前有一个页眉。以下是XML代码: <Font D="656.5874" B="652.25" A="640.0874" X2="281.825" X1="74.75"

我正在从事一个项目,该项目需要使用XSLT将XML文件中的信息解析为另一种XML格式,然后存储到数据库中。然而,我遇到了一个问题,即有一个地址被分为两页,因此一些信息位于第一页的底部,而剩余部分位于第二页的顶部,但是在地址信息之前有一个页眉。以下是XML代码:

<Font D="656.5874" B="652.25" A="640.0874" X2="281.825" X1="74.75" Font="Arial-BoldMT">
    <Text D="656.5874" B="652.25" A="640.0874" X2="281.825" X1="74.75">Registered Office Address</Text>
  </Font>
  <Font D="694.8561" B="692" A="682.8561" X2="201.0974" X1="89.75" Font="ArialMT">
    <Text D="694.8561" B="692" A="682.8561" X2="201.0974" X1="89.75">Care of: AMEC INC. </Text>
    <Text D="712.1061" B="709.25" A="700.1061" X2="193.7849" X1="89.75">900 AMEC PLACE </Text>
    <Text D="729.3561" B="726.5" A="717.3561" X2="226.8904" X1="89.75">801 - 6TH AVENUE S.W. </Text>
  </Font>
  <Font D="815.9041" B="814" A="807.9041" X2="61.42859" X1="26.45313" Font="ArialMT">
    <Text D="815.9041" B="814" A="807.9041" X2="61.42859" X1="26.45313">11/4/2020</Text>
    <Text D="815.9041" B="814" A="807.9041" X2="577.0845" X1="91.8125">Federal Corporation Information - 169142-2 - Online Filing Centre - Corporations Canada - Corporations - Innovation, Science and Econo</Text>
    <Text D="816.0134" B="814.1094" A="808.0134" X2="585.4063" X1="577.4063">…</Text>
    <Text D="1568.904" B="1567" A="1560.904" X2="554.5465" X1="26.45313">https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/fdrlCrpDtls.html?corpId=1691422&amp;V_TOKEN=1604499027720&amp;crpNm=CAYMAN HOTEL &amp; GO</Text>
    <Text D="1568.795" B="1566.891" A="1560.795" X2="562.625" X1="554.625">…</Text>
    <Text D="1568.904" B="1567" A="1560.904" X2="585.5105" X1="574.4063">2/4</Text>
    <Text D="836.6061" B="833.75" A="824.6061" X2="222.8943" X1="89.75">CALGARY AB T2P 3W3 </Text>
    <Text D="853.8561" B="851" A="841.8561" X2="131.774" X1="89.75">Canada</Text>
  </Font>
  <Font D="911.5488" B="908" A="898.0488" X2="135.1788" X1="105.1953" Font="Arial-BoldMT">
    <Text D="911.5488" B="908" A="898.0488" X2="135.1788" X1="105.1953">Note</Text>
  </Font>

注册办事处地址
照管:AMEC公司。
阿梅克广场900号
西南第六大道801号。
11/4/2020
联邦公司信息-169142-2-在线归档中心-加拿大公司-公司-创新、科学和经济
…
https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/fdrlCrpDtls.html?corpId=1691422&V_代币=1604499027720&;crpNm=开曼群岛酒店;去
…
2/4
卡尔加里AB T2P 3W3
加拿大
注
请看D值为729.3561的行,地址停在这里,因为它到达了第1页的末尾,从D值815.9041到D值1568,这6行是第二页的页眉,第7行和第8行是我要解析的地址的剩余部分

我正在尝试,但只能在第一页(3行)中获得完整的地址信息:

//varRegisteredOfficeAddress=656.5874
//varNoteD=911.5488
//$varArialMTX1=89.75
这是最终结果:

<check>
Care of: AMEC INC. 900 AMEC PLACE 801 - 6TH AVENUE S.W. 
</check>

照管:AMEC INC.900 AMEC PLACE 801-西南第六大道。

那么如何确定哪些
文本
元素属于同一个元素呢?基于
X1
属性值(例如
89.75
)?然后对该属性值进行分组或设置关键帧。如何做到这一点取决于所使用的XSLT版本/XSLT处理器。
<check>
Care of: AMEC INC. 900 AMEC PLACE 801 - 6TH AVENUE S.W. 
</check>