Skip to content

prewk/xml-faker

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

xml-faker Build Status

Create fake XML with the help of fzaninotto/Faker

Why?

Useful for testing stuff.

Usage

Supply the constructor with a valid SimpleXMLElement and use the methods to generate XML in the sizes that you wish.

Your supplied XML will be used as a blueprint for creating the random XML. If an attribute as an integer, random integers will be created for those attributes. If your node text consists of a text with linebreaks, a random text with the same amount of linebreaks will be created for those nodes.

Only the first node encountered will be used like this, the rest of your supplied XML will be ignored.

Installation

composer.json:

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

Example

Create an 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>

Load it:

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

Create an XML string with 100 nodes:

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

Create an XML string of maximum 1 MB (1024 * 1024 chars):

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

More useful, stream an XML file of 100 MB to disk (will take a while):

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

About

Create fake XML with fzaninotto/Faker

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages