当前位置: 首页 > 工具软件 > KissXML > 使用案例 >

post请求传xml参数(KissXML 生成xml文件)

苏高远
2023-12-01

最近开发中遇到一个需求,在post请求中,需要传递xml的参数!瞬间感觉不太好了,常规来说都是上传json的, 无奈也只能按照接口文档来做了!

查阅大量资料,KissXML 这个开源框架可以完美解决该问题, 下面粘出实现代码:

- (void)getSkuXmlWithVArray:(NSMutableArray *)vArray pArray:(NSMutableArray *)pArray
{
    DDXMLElement *AttributesElement = [DDXMLElement elementWithName:@"Attributes"];

    for (NSInteger i = 0; i < pArray.count; i++) {
        DDXMLElement *ProductAttributeElement = [DDXMLElement elementWithName:@"ProductAttribute"];
        [ProductAttributeElement addAttribute:[DDXMLNode attributeWithName:@"ID" stringValue:pArray[i]]];
        DDXMLElement *ProductAttributeValueElement = [DDXMLElement elementWithName:@"ProductAttributeValue"];
        DDXMLElement *ValueElement = [DDXMLElement elementWithName:@"Value" stringValue:vArray[i]];
        [AttributesElement addChild:ProductAttributeElement];
        [ProductAttributeElement addChild:ProductAttributeValueElement];
        [ProductAttributeValueElement addChild:ValueElement];
    }

    NSLog(@"%@", [AttributesElement XMLString]);

    _attributesXml = [AttributesElement XMLString];
}

结果如下:

<Attributes>
    <ProductAttribute ID="16">
        <ProductAttributeValue>
            <Value>42</Value>
        </ProductAttributeValue>
    </ProductAttribute>
    <ProductAttribute ID="17">
        <ProductAttributeValue>
            <Value>46</Value>
        </ProductAttributeValue>
    </ProductAttribute>
</Attributes>

只需将其转化为字符串, 作为参数即可进行post请求!

简书传送门

 类似资料: