prewk/xml-faker

使用fzaniotto/Faker的帮助创建随机XML。

0.1.1 2020-03-31 17:31 UTC

This package is auto-updated.

Last update: 2024-08-29 04:03:22 UTC


README

fzaninotto/Faker 的帮助下创建伪造XML

为什么?

对测试很有用。

使用方法

将有效的 SimpleXMLElement 传递给构造函数,并使用这些方法以所需的大小生成XML。

您提供的XML将被用作创建随机XML的蓝图。如果属性是整数,将为这些属性创建随机整数。如果您的节点文本包含换行符,将为这些节点创建具有相同换行符数量的随机文本。

仅使用遇到的第一个节点,其余提供的XML将被忽略。

安装

composer.json

"require": {
    "prewk/xml-faker": "*"
}

示例

创建一个example.xml文件

<root-node>
  <node>
    <child-a>OneWord</child-a>
    <child-b>123</child-b>
    <child-c an-integer-attribute="123">
      <grandchild an-float-attribute="456">
        This is some
        text on some
        lines
      </grandchild>
    </child-c>
  </node>
</root-node>

加载它

$myXmlBlueprint = simplexml_load_file("example.xml");
$xmlFaker = new Prewk\XmlFaker($myXmlBlueprint);

创建包含100个节点的XML字符串

echo $xmlFaker->asString(Prewk\XmlFaker::NODE_COUNT_RESTRICTION_MODE, 100);

创建最大1 MB(1024 * 1024字符)的XML字符串

echo $xmlFaker->asString(Prewk\XmlFaker::BYTE_COUNT_RESTRICTION_MODE, 1024 * 1024);

更有用,将100 MB的XML文件流式传输到磁盘(需要一些时间)

$xmlFaker->asFile("my-new-large-xml-file.xml", Prewk\XmlFaker::BYTE_COUNT_RESTRICTION_MODE, 100 * 1024 * 1024);