尝试将 SoapObject 属性 名称提取为字符串
Trying to extract SoapObject property name as string
我正在尝试将 SoapObject 属性 的名称放入字符串中。
SoapObject 对象:
anyType{ChassisReceiving=true;
JobOrderIssuing=true;
MfgOrderReducing=true;
PartsOrdering=true;
PhysicalInventoryTaking=true;
PurchaseOrderReceiving=true;
SalesOrderReducing=true; }
这是意料之中的。但是,我试图只获取 属性 名称(即 ChassisReceiving、JobOrderIssuing 等)。
我正在尝试使用:String name = response.getProperty(i).toString();
但是 mod
返回为 true
。
完整代码:
SoapObject response = (SoapObject) webService.getResponse();
for (int i=0; i <= response.getPropertyCount()-1; i++) {
boolean modAllowed = Boolean.parseBoolean(response.getProperty(i).toString());
if (modAllowed) {
String mod = response.getProperty(i).toString();
switch (mod) {
case "ChassisReceiving":
mod = "Chassis Receiving";
break;
case "JobOrderIssuing":
mod = "Job Order Issuing";
break;
//add case for each property name
}
AddModule(response, mod);
}
}
到目前为止,我没有尝试过 mod
返回 true
以外的结果。
有什么想法吗?
谢谢!
我觉得自己很蠢。从这里开始工作:Android KSoap2: how to get property name
基本添加:PropertyInfo propertyInfo = new PropertyInfo();
然后在for循环中:response.getPropertyInfo(i, propertyInfo); String mod = propertyInfo.getName();
按预期工作。
你的答案:
在循环响应的地方,您可以从不同的属性访问 PropertyInfo
。我使用以下设置来获取参数的名称和它们附带的值:
//Inside your for loop
PropertyInfo pi = new PropertyInfo();
resSoap.getPropertyInfo(i, pi);
Log.d(TAG, pi.name + " : " + resSoap.getProperty(i).toString());
这将创建一个 PropertyInfo
对象,将来自 属性 的信息添加到该对象中,然后您可以访问所有这些信息。然后按以下格式将其打印到您的 LogCat。
<PropertyName> : <PropertyValue>
我正在尝试将 SoapObject 属性 的名称放入字符串中。 SoapObject 对象:
anyType{ChassisReceiving=true;
JobOrderIssuing=true;
MfgOrderReducing=true;
PartsOrdering=true;
PhysicalInventoryTaking=true;
PurchaseOrderReceiving=true;
SalesOrderReducing=true; }
这是意料之中的。但是,我试图只获取 属性 名称(即 ChassisReceiving、JobOrderIssuing 等)。
我正在尝试使用:String name = response.getProperty(i).toString();
但是 mod
返回为 true
。
完整代码:
SoapObject response = (SoapObject) webService.getResponse();
for (int i=0; i <= response.getPropertyCount()-1; i++) {
boolean modAllowed = Boolean.parseBoolean(response.getProperty(i).toString());
if (modAllowed) {
String mod = response.getProperty(i).toString();
switch (mod) {
case "ChassisReceiving":
mod = "Chassis Receiving";
break;
case "JobOrderIssuing":
mod = "Job Order Issuing";
break;
//add case for each property name
}
AddModule(response, mod);
}
}
到目前为止,我没有尝试过 mod
返回 true
以外的结果。
有什么想法吗?
谢谢!
我觉得自己很蠢。从这里开始工作:Android KSoap2: how to get property name
基本添加:PropertyInfo propertyInfo = new PropertyInfo();
然后在for循环中:response.getPropertyInfo(i, propertyInfo); String mod = propertyInfo.getName();
按预期工作。
你的答案:
在循环响应的地方,您可以从不同的属性访问 PropertyInfo
。我使用以下设置来获取参数的名称和它们附带的值:
//Inside your for loop
PropertyInfo pi = new PropertyInfo();
resSoap.getPropertyInfo(i, pi);
Log.d(TAG, pi.name + " : " + resSoap.getProperty(i).toString());
这将创建一个 PropertyInfo
对象,将来自 属性 的信息添加到该对象中,然后您可以访问所有这些信息。然后按以下格式将其打印到您的 LogCat。
<PropertyName> : <PropertyValue>