libxml bindings for v8 javascript engine
npm install libxmljs



npm install libxmljs
NodeJS bindings for libxml2 written in
Typescript
https://libxmljs.github.io/libxmljs/
For more examples, check out the test suite.
``javascript
import libxmljs from "libxmljs";
libxmljs
.parseXmlAsync(
)
.then((xmlDoc) => {
const gchild = xmlDoc.find("//grandchild")[0];
console.log(gchild.text()); // prints "grandchild content"
const child = xmlDoc.root()?.child(0);
console.log(child?.getAttribute("foo")?.value()); // prints "bar"
});
`
npm run init-submodules
> Clones libxml2 source code to vendor/libxml2
npm run configure
> Generate new cmake config headers with cmake in vendor/libxml2.config. Used when updating to a new libxml2 version.
npm run build
> Build the C++ source code using node-gyp
npm run swig
> Generate a new src/libxml2.cc and swig.xml file by processing the native code using SWIG. Used when making changes
> to native code or any of the SWIG interface files (src/\*.i)
npm run tsgenerate
> Generates typescript definitons for native bindings exports. Used when changes are made to native exports.
> Auto-generates constants.ts, functions.ts, types.ts, and variables.ts within lib/bindings/
npm run tsc
> Compiles Typescript within lib/ and outputs it to dist/ Use npm run dev to put Typescript compiler into watch
> mode.
npm run test
> Runs all tests in test/ using nodeunit. Use npm run test -- -t TEST_NAME to run a specific test.
npm run docs
> Generates docs/` using Typedoc