小编Jef*_*ffS的帖子

Python使用getattr来调用具有可变参数的函数

我正在使用getattr根据变量调用不同的函数.

我做这样的事情:

getattr(foo, bar) ()
Run Code Online (Sandbox Code Playgroud)

这工作,调用函数如foo.bar()

我的问题是我有'bar'功能,我想用不同的参数调用它.例如:

def f1() :
  pass

def f2(param1) :
  pass

def f3(param1,param2) :
  pass
Run Code Online (Sandbox Code Playgroud)

所以'bar'可以是f1,f2或f3

我试过这个:假设params是一个包含'bar'函数所需的所有参数的列表

getattr(foo, bar) (for p in params :)
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个"干净"的解决方案,无需在params变量上观察长度

python variables parameters function getattr

20
推荐指数
2
解决办法
2万
查看次数

Java Dom解析器报告错误的子节点数

我有以下xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="0" firstname="John"/>
</users>
Run Code Online (Sandbox Code Playgroud)

然后我试图用java解析它,但getchildnodes报告错误的子节点数.

Java代码:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(this.file);
document.getDocumentElement().normalize();
Element root = document.getDocumentElement();
NodeList nodes = root.getChildNodes();
System.out.println(nodes.getLength());
Run Code Online (Sandbox Code Playgroud)

结果:3

此外,我正在获取用于访问节点属性的NPE,因此我猜测某些内容非常糟糕.

java xml dom children

6
推荐指数
1
解决办法
4256
查看次数

使用pl/sql dom解析器解析XML的最简单方法

我不知道如何解释,但我会尽我所能.我正在使用Oracle Apex并在我的表中使用数据类型为Clob的名为"CLOBTABLE"的XML.我已经尝试过XMLTYPE作为数据类型,但它不接受顶点中的任何数据,所以我使用CLOB当前作为数据类型.现在我想使用xml形式的数据,即

<Row>
    <cellArray>
        <Cell>
            <columnId>1</columnId>
            <valueArray>
                <Value>
                    <value>IR000024575452</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>5</columnId>
            <valueArray>
                <Value>
                    <value>AZ12579856-001</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>2</columnId>
            <valueArray>
                <Value>
                    <value>IT06686</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>9</columnId>
            <valueArray>
                <Value>
                    <value>Hu Mics Metab K</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>8</columnId>
            <valueArray>
                <Value>
                    <value>2006-03-31</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>7</columnId>
            <valueArray>
                <Value>
                    <value>2006-07-27</value>
                </Value>
            </valueArray>
        </Cell>
    </cellArray>
</Row>
<Row>
    <cellArray>
        <Cell>
            <columnId>1</columnId>
            <valueArray>
                <Value>
                    <value>IR000024575452</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>5</columnId>
            <valueArray>
                <Value>
                    <value>AZ12579856-001</value>
                </Value>
            </valueArray>
        </Cell>
        <Cell>
            <columnId>2</columnId>
            <valueArray>
                <Value>
                    <value>IT06686</value> …
Run Code Online (Sandbox Code Playgroud)

oracle plsql xml-parsing oracle-apex

2
推荐指数
1
解决办法
2万
查看次数