Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
在Fantom中获取XML标记之间的数据_Xml_Fantom - Fatal编程技术网

在Fantom中获取XML标记之间的数据

在Fantom中获取XML标记之间的数据,xml,fantom,Xml,Fantom,我在Fantom中使用XParser类时遇到了一些问题,我试图获取XML中标记之间的数据。有一个可以获取数据类型,但我在获取实际数据时遇到了问题。谢谢大家! 一个您试图实现的示例很有用(比如一个显示您试图隔离的数据的XML片段),因为问题还不太清楚 在Fantom中选择XML的默认方法非常基本,涉及遍历直接子节点列表。具体参见和 示例用法如下所示: using xml class Example { Void main() { root := XParser("<

我在Fantom中使用XParser类时遇到了一些问题,我试图获取XML中标记之间的数据。有一个可以获取数据类型,但我在获取实际数据时遇到了问题。谢谢大家!

一个您试图实现的示例很有用(比如一个显示您试图隔离的数据的XML片段),因为问题还不太清楚

在Fantom中选择XML的默认方法非常基本,涉及遍历直接子节点列表。具体参见和

示例用法如下所示:

using xml

class Example {
    Void main() {
        root := XParser("<root>
                             <thingy>
                                 <wotsit>My Text</wotsit>
                             </thingy>
                         </root>".in).parseDoc.root

        // find by traversing element lists
        wotsit := root.elems[0].elems[0]
        echo(wotsit.writeToStr)  // --> <wotsit>My Text</wotsit>

        // find by element name
        wotsit = root.elem("thingy").elem("wotsit")
        echo(wotsit.writeToStr)  // --> <wotsit>My Text</wotsit>

        // get wotsit text
        echo(wotsit.text.val)    // --> My Text
    }
}
使用xml
课例{
Void main(){
根:=XParser(“
我的文字
.in).parseDoc.root
//通过遍历元素列表查找
wotsit:=root.elems[0]。elems[0]
echo(wotsit.writeToStr)//-->我的文本
//按元素名查找
wotsit=root.elem(“thingy”).elem(“wotsit”)
echo(wotsit.writeToStr)//-->我的文本
//获取wotsit文本
echo(wotsit.text.val)//-->我的文本
}
}
如果您熟悉使用CSS选择器查找XML,那么您可能希望尝试使用Alien Factory:

using xml
using afSizzle

class Example {
    Void main() {
        sizzleDoc := SizzleDoc("<root><thingy><wotsit/></thingy></root>")

        // find by CSS selector
        wotsit = sizzleDoc.select("wotsit").first
        echo(wotsit.writeToStr)  // --> <wotsit>My Text</wotsit>

        // get wotsit text
        echo(wotsit.text.val)    // --> My Text
    }
}
使用xml
使用嘶嘶声
课例{
Void main(){
sizzleDoc:=sizzleDoc(“”)
//通过CSS选择器查找
wotsit=sizzleDoc.首先选择(“wotsit”)
echo(wotsit.writeToStr)//-->我的文本
//获取wotsit文本
echo(wotsit.text.val)//-->我的文本
}
}

谢谢!这解决了问题。